update table1 set sl = nvl((select sl from table2 where table1.bh=table2.bh),0)
解决方案 »
- oracle 11g R2 ORA-12154:TNS:无法解析指定的连接标识符
- oracle好难啊,推荐入门书
- 两个字段同时满足条件的表述?
- 关于Oracle的设置问题(对未指定列的检查)
- 一个困扰很长时间的 oracle EM 的问题,高分寻求解决方法!!!!
- 如何使用存储过程像MSSQL的存储过程 能够返回一个结果集
- 急,马上结贴!把sql数据库的表,视图导到oracle..................?
- Get top one record
- 有人可以做oracle数据库系统优化与设计的毕业设计不
- 关于ORACLE解析日志方面的问题
- 【请教】为什么我的Function、Procedure里面不能用NULL
- 讨论,利用vb作oracle的数据库开发,连接方式ado,似乎很方能能存取各种类型的数值,但是存放clob类型的字段,字段值超过一定长度就会死机
在table2中有两条记录('01',10),('02',10)
我想更新之后,table1中的记录变为('01',10),('02',10),('03',0)
因为table2中没有bh='03'的记录,所以table1中bh='03'的sl应该变成0。这应该怎么办呢?
SQL> drop table table1;SQL> drop table table2;SQL> create table table1 (bh char(2),sl number(3));SQL> create table table2 (bh char(2),sl number(3));SQL> insert into table1 values ('01',1);SQL> insert into table1 values ('02',1);SQL> insert into table1 values ('03',1);SQL> insert into table2 values ('01',10);SQL> insert into table2 values ('02',10);SQL> commit;
SQL> select * from table1;BH SL
-- ----------
01 1
02 1
03 1SQL> update table1 set sl = nvl((select sl from table2 where table1.bh=table2.bh
),0);SQL> select * from table1;BH SL
-- ----------
01 10
02 10
03 0