读书人

帮忙啊该怎么处理

发布时间: 2012-04-27 11:57:44 作者: rapoo

帮忙啊
现在有两张表: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) 

读书人网 >oracle

热点推荐