易截截图软件、单文件、免安装、纯绿色、仅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中的触发器和游标是在内存中吗?

作者: 三十而立时间:2009年11月08日 12:15:21请尊重原创作品。转载请保持文章完整性,并以超链接形式注明原始作者“inthirties(三十而立)”和出处”http://blog.csdn.net/inthirties/archive/2009/11/08/4786769.aspx”,深入讨论可以联系inthirties@gmail.com。在csdn上看到一个网友问的一个问题 http://topic.csdn.net ......

oracle性能优化之索引

 最近发现有一个页面的打开速度很慢,几乎每次都需要刷新十几次才能打开,分析原因可能是由于时间的积累,该表中的数据量过大引起的(该表是一张存放过程性数据的表)。经查实,果真是该表数据量过大,有7百万之多。遂决定将部分历史数据备份并清除掉,以提高性能。
使用:creart table table_bak as select * from t ......

Oracle锁机制


设立封锁机制主要是为了对并发操作进行控制,对干扰进行封锁,保证数据的一致性和准确性。Oracle数据库封锁方式有三种:共享封锁,独占封锁,共享更新封锁
   [b:8f4f63b9bb]封锁类型[/b:8f4f63b9bb]
   Oracle RDBMS的封锁类型可分为如下三类:
   1、内部级封锁
   内部级封锁是用于保护ORACLE内部结 ......

oracle笔记 之VI JDBC连接 Oracle 数据库

 <%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%--
 使用JDBC连接Oracle数据库
--%>
<%!
 String DBDRIVER="oracle.jdbc.driver.OracleDriver";
 String URL="jdbc:oracle:thin:@localhost:1521:orcl";
 String USER="scott ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号