要求如下:通过sql语句更新一个没有连接条件的表。测试数据:有两个表test1、test2,别分别如下:create table TEST1
(
CODE VARCHAR2(20),
NO VARCHAR2(20)
)create table TEST2
(
CODE VARCHAR2(20),
NO VARCHAR2(20)
)测试数据如下: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字段???
(
CODE VARCHAR2(20),
NO VARCHAR2(20)
)create table TEST2
(
CODE VARCHAR2(20),
NO VARCHAR2(20)
)测试数据如下: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字段???
解决方案 »
- oracle数据备份
- 怎么解决IBM3850 x5/4*8核16线程CUP/64G内存/win2003 x64/安装oracle10g x64创建数据库时进度条不动
- 这自定义两个函数怎么写???只能用函数 反复报错 苦逼
- sql server触发器转换为Oracle,谢谢!
- 求一SQL语句
- 为何用to_char(ziduanming,'yyyy-mm-dd hh24:mi') 后总报错: 日期格式对于内部缓冲区过长?
- 在现求救!!!兄弟们帮帮忙!
- 这样的的原始数据,Sql*Loader里的控制文件如何写?
- 请问如何只取出前面2条记录?
- oracle的JOB问题
- 求高人指点
- 导dmp文件时发生的错误
alter table test2 add (rn number);
--更新序号值
update test2 set rn=rownum;
--更新no
UPDATE 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;