UPDATE A
   SET CT_SZBZ = (select B.CT_BMBM
   FROM A, B
   WHERE (A.CT_ZGH = B.工号));

解决方案 »

  1.   

    错误为:sql命令没有正确结束,如果你用的是sql*plus应该不会这样的。
    如果没有用plus,可能是你没有句尾加分号;分号为语句结束符
      

  2.   

    bzszp(SongZip) 写的正确。不过注意保证select子查询返回的结果是一行。
      

  3.   

    把bzszp(SongZip) 的语句中FROM A, B 改为FROM B
    ===========================
    oldwain
    ---------------------------
    http://www.itpub.net/index.php?referrerid=32 
    http://www.linuxforum.net/ 
    http://www.oraclefan.net/
      

  4.   

    UPDATE A SET CT_SZBZ = (SELECT DISTINCT CT_BMBM FROM B WHERE (A.CT_ZGH = B.工号)
      

  5.   

    谢谢,上面两位的写法我原来用过了,但这种方法在两个表记录相同的情况下才有用,我没有说清楚,我的B表只是A表的子集,按照这种写法会把A表中不属于B表的记录中的CT_SZBZ置为空值,因为无法SELECT出值来。
      

  6.   

    SQLPLUS中也有同样的问题,我在PB中运行这个命令也不行。
      

  7.   

    应该没有问题的,再试试加rownum:
    UPDATE A SET CT_SZBZ = (SELECT s.CT_BMBM FROM A d,B s  WHERE d.CT_ZGH = s.工号 and rownum=1);
      

  8.   

    搞定这个:
    http://www.csdn.net/expert/topic/1015/1015762.xml?temp=.3586542
      

  9.   

    应该是这样写:(条件B表是A表的子集)UPDATE A
       SET CT_SZBZ = ( select B.CT_BMBM FROM B WHERE (A.CT_ZGH = B.工号)
    where A.CT_ZGH in ( select B.CT_BMBM FROM B );================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★  浏览帖子速度极快![建议系统使用ie5.5以上]。 ★  多种帖子实现界面。 
    ★  保存帖子到本地[html格式]★  监视您关注帖子的回复更新。
    ★  可以直接发贴、回复帖子★  采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! 
    ★  支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名  ●  
         可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
    Http://www.ChinaOK.net/csdn/csdn.rar
    Http://www.ChinaOK.net/csdn/csdn.exe    [自解压]
      

  10.   

    不好意思多了一个括号,应为:UPDATE A
       SET CT_SZBZ = ( select B.CT_BMBM FROM B WHERE A.CT_ZGH = B.工号)
    where A.CT_ZGH in ( select B.CT_BMBM FROM B );================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★  浏览帖子速度极快![建议系统使用ie5.5以上]。 ★  多种帖子实现界面。 
    ★  保存帖子到本地[html格式]★  监视您关注帖子的回复更新。
    ★  可以直接发贴、回复帖子★  采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! 
    ★  支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名  ●  
         可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
    Http://www.ChinaOK.net/csdn/csdn.rar
    Http://www.ChinaOK.net/csdn/csdn.exe    [自解压]
      

  11.   

    DISTINCT  关键字是必不可少的。否则出现重复纪录会引发异常。
      

  12.   

    谢谢,用lj77的办法可以,不知我前面的写法是否有错,还是ORACLE不支持这种写法。