帮忙啊
现在有两张表:A,B,
A
(
DB001 VARCHAR2(2 BYTE) NOT NULL,
DB002 VARCHAR2(10 BYTE) NOT NULL,
DB003 VARCHAR2(10 BYTE) NOT NULL,
SEGMENT_GID VARCHAR2(32 BYTE),)
B
DB2307
(
CLASS VARCHAR2(2 BYTE) NOT NULL,
CODE_ID VARCHAR2(10 BYTE) NOT NULL,
CODE_CDESC VARCHAR2(50 BYTE),
CODE_EDESC VARCHAR2(50 BYTE),
CODE_REMARK1 VARCHAR2(50 BYTE),)
现在A表的SEGMENT_GID 是空的,想用B表的 CODE_REMARK1去更新A表的SEGMENT_GID 字段,条件A.DB001=B.CODE_ID
如果CODE_REMARK1也是空的话,就给 SEGMENT_GID 更新为123 。
请问大家改如何写呢?
------解决方案--------------------
SQL code
update a
set a.SEGMENT_GID =
(select nvl(b.CODE_REMARK1, '123')
from b
where A.DB001=B.CODE_ID)
------解决方案--------------------
参考语句:
SQL code
UPDATE A SET SEGMENT_GID =
(SELECT NVL(CODE_REMARK1, '123') FROM B
WHERE B.CODE_ID = A.DB001)