首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

帮忙啊该怎么处理

2012-04-27 
帮忙啊现在有两张表:A,B,A(DB001VARCHAR2(2 BYTE)NOT NULL,DB002VARCHAR2(10 BYTE)NOT NULL,DB003VARCHAR2

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

热点排行