- 论坛徽章:
- 0
|
有两表a_test、b_test,想把a_test表中符合条件的记录的currentdeposit(not null)列值用b_test中对应记录的SUM列值代替,两表通过OBJID和SERVICEID列建立对应
1、
update a_test set currentdeposit=(select b.sum from b_test b,a_test a where a.objid in (select serviceid from b_test) and a.objid=b.serviceid);
结果:ORA-01427: single-row subquery returns more than one row
2、update a_test a set (currentdeposit)=(select b.sum from b_test b where a.objid in(select serviceid from b_test) and a.objid=b.serviceid);
结果:ORA-01407: cannot update
("test"."a_test"."CURRENTDEPOSIT" to NULL
(但b.sum不存在NULL)
--------------------------------------------
请高手指点 |
|