1:子查询UPDATE A SET A.NAME=(SELECT B.NAME FROM B WHERE B.ID=A.ID),本查询要根据具体情况看看是否变通成如下 代码语言:txt AI代码解释 UPDATE A SET A.NAME=(SELECT B.NAME FROM B WHERE B.ID=A.ID) WHERE A.ID IN (SELECT ID FROM B); 2:利用视图来做 代码语言:txt AI代码解释 UPDATE ...
1:子查询UPDATE A SET A.NAME=(SELECT B.NAME FROM B WHERE B.ID=A.ID),本查询要根据具体情况看看是否变通成如下 (1)单列 UPDATE A SET A.NAME=(SELECT B.NAME FROM B WHERE B.ID=A.ID) WHERE A.ID IN (SELECT ID FROM B); (2)多列 UPDATE order_rollup SET(qty,price)=(SELECT SUM(qty...
1:子查询UPDATE A SET =(SELECT FROM B WHERE =),本查询要根据具体情况看看是否变通成如下 UPDATE A SET = ( SELECT FROM B WHERE = ) WHERE IN ( SELECT ID FROM B); 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. ...
昨天因更新,数据库是oracle的,发现oracle不支持update from的语法 昨晚根据需要改写了下: update tabA set (col1,col2,col3,col4,col5)=(select b.col1,b.col2,substr(b.col3,4,2),substr(b.col3,7,2),substr(b.col3,10,2) from tabB b where tabA.col6=b.col6) where tabA.col6 in (sel...
oracle中关联更新不用inner join的方法,而是用另外的方法:有以下两张表:根据test2表中的id和test1表中的id关联,修改test1表中name字段,语句如下:update test1 a set a.name=(select b.name from test2 b where a.id=b.id) where a.id in (select id from test2);更新后,test1表中结果...
Oracle 关联更新 update 以下案例及写法来自 triger liu《专题培训-SQL写法与改写》,有部分个人测试及删改,原文请参考原课程。 一、 创建测试表 --数据源表 create table testa as select * from dba_objects where rownum<=5000; --被update的目标表
快速游标更新法: beginfor aa in (select a.rowid as rowid,b.ft_lstate as ft_lstate from gkfq_rec a,oa2_ftask bwhere a.slid=b.fi_inst ) loopupdate gkfq_rec set blzt=aa.ft_lstatewhere rowid=aa.rowid;end loop;end;配合oracle独有的内置ROWID物理字段,使用快速游标,不...
简单记录一下 sql server: update A set Name=B.Name from B (join)where A.Bid=B.Id ---可以使用join连接 oracle : UPDATE TABLE A SET A.col1 = (SELECT b.col1 FROM TABLE B WHERE A.col2 = B.col2) WHERE A.col2 IN (SELECT B.col2 FROM TABLE B) ...
通过from来多表关联,而关联条件则是放到了where中,这样就可以达到我们想要的效果了。另外补充一句,对于set xxx = 'xxx'这个update的部分,是不可以在column字段前加上表前缀的,比如下边的写法就是有语法错误的: 1 2 update a set a.value = 'test'; ...
外,另Oracle中的Delete的from子句也有多表库接的功能,只能通库子库库的方没 式做:来 deletefrom表Awhereexists(select*from表Bwhere表A.empid=表 B.empid) deletefrom表Awhere表A.empidin(selectempidfrom表B) 三、oracle库库多表更新 在oracle中通常如果库库的据源自库表库库库库可以库行更新。而如果库库据源...