当前位置: 代码迷 >> Oracle技术 >> 怎么通过sql语句更新一个没有连接条件的表
  详细解决方案

怎么通过sql语句更新一个没有连接条件的表

热度:26   发布时间:2016-04-24 08:24:10.0
如何通过sql语句更新一个没有连接条件的表
要求如下:通过sql语句更新一个没有连接条件的表。

测试数据:

有两个表test1、test2,别分别如下:

SQL code
create table TEST1(  CODE VARCHAR2(20),  NO   VARCHAR2(20))


SQL code
create table TEST2(  CODE VARCHAR2(20),  NO   VARCHAR2(20))


测试数据如下:

SQL code
insert into test1 (CODE, NO)values ('001001', '1');insert into test1 (CODE, NO)values ('001001', '2');insert into test1 (CODE, NO)values ('001001', '3');insert into test2 (CODE, NO)values ('001001', '');insert into test2 (CODE, NO)values ('001001', '');insert into test2 (CODE, NO)values ('001001', '');


通过ORACLE sql语句 如何将TEST1表的no字段值更新到TEST2表的no字段???

------解决方案--------------------
SQL code
--增加辅助序号列alter table test2 add (rn number);--更新序号值update test2 set rn=rownum;--更新noUPDATE test2 a   SET a.no =       (SELECT b.no          FROM (SELECT t.*, rownum rn FROM test1 t) b         WHERE b.rn = a.rn);commit;--删除辅助序号列alter table test2 drop column rn;
  相关解决方案