易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle多表联合更新

以下是在后台更新易拓ERP数据库时遇到的一个问题:
1.在DB14数据库中将料件号P44开头,并且品名为"塑料袋"的料件改为消耗性料件.
          这个简单:  UPDATE DB14.ima_file SET ima70 = ‘Y’ WHERE ima01 like ‘P44%’ AND ima02 = ‘塑料袋’;
2.在以B021开头的工单中,相应的下介料件的消耗性状态也作相应变更. 这个麻烦涉及bmb表和ima表才能确定要更改的记录(因为限定了品名).不能直接用UPDATE,最后写了一个存储过程如下:
DECLARE CURSOR my_table IS (SELECT bmb01,bmb03
  from DB14.bmb_file,DB14.ima_file
  WHERE bmb03 = ima01
  AND bmb01 LIKE 'B021%'
  AND bmb03 LIKE 'P44%' AND ima02 = '塑料袋'); 
  BEGIN 
    FOR tab IN my_table LOOP 
      UPDATE DB14.bmb_file 
             SET bmb15 = 'Y' 
             WHERE bmb01 = tab.bmb01 AND bmb03 = tab.bmb03; 
    END LOOP; 
  END;
这样一来要是还有相同条件下的其他表要更新的话,可直接在FOR LOOP里面加上.
最后,其实我也是傻了.单就解决现有问题而言完全可以:
  UPDATE DB14.bmb_file SET bmb15 = 'Y'
  WHERE bmb01 LIKE 'B021%'
                AND bmb03 IN (SELECT ima01
                                            from DB14.ima_file 
                                        


相关文档:

Oracle中的日期和字符串互相转换

 Oracle中的日期和字符串互相转换
TO_DATE格式(以时间:2007-11-02   13:45:25为例)
  
        Year:     
        yy two digits 两位年         ......

oracle 数据库 监听器配置

 SID_LIST_LISTENER =
(SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
    )(SID_DESC =
 &nb ......

用show parameter显示Oracle隐含参数

Oracle数据库的启动用到了初始化参数,一般情况下可以在sqlplus里用show parameter 来获得。而Oracle数据库为了debug 或者解决一些特殊的问题,还提供了一些以“_”开头的隐含参数。 网络上有一些script可以让我们轻松检查这些隐含参数. 下面我们来详细介绍一下如何直接在sqlplus 用show parameter来获取隐含参数 ......

oracle 锁,解锁

http://hi.baidu.com/fyears/blog/item/5ef68ac3feb9a45db219a836.html
select object_id,session_id,locked_mode from v$locked_object;
  select t2.username,t2.sid,t2.serial#,t2.logon_time
  from v$locked_object t1,v$session t2
  where t1.session_id=t2.sid order by t2.logon_time;
alter system ki ......

oracle变量类型

 oracle变量类型
标量类型
varchar2(n)  用于定义可变长度的字符串  n用于指定字符串的最大长度 其最大值为32767字节 必须指定n
char(n)  用于定义固定长度的字符串 其中n用于指定字符串的最大长度,其最大值为32767  如果不指定n 默认是1
number(p,s)该数据类型用于定义固定长度的整数和浮点 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号