在PL/SQL中写了以下语句:update demoat3.bpartner B  set bprnam_0=A.bprnam_0,bprsho_0=A.bprsho_0,bprlog_0=A.bprlog_0 
       from test.bpartner A
       where B.bprnum_0=A.bprnum_0 AND A.bprnum_0 LIKE 'C02%'执行时报SQL命令未正确结束,请问下哪里有问题?谢谢!

解决方案 »

  1.   

    你的手SQL SERVER的写法,应该类似这样
    UPDATE "SCOTT"."EMP" 
        SET ("SAL",comm)=(select sal,comm from emp10 where empno=7499)  
        WHERE  empno=7499;
      

  2.   

    update demoat3.bpartner B 
    set (bprnam_0,bprsho_0,bprlog_0)=
         (select bprnam_0,bprsho_0,bprlog_0 
          from test.bpartner A 
          where B.bprnum_0=A.bprnum_0 AND A.bprnum_0 LIKE 'C02%')
      

  3.   

    这好像不是Oracle的语法吧
      

  4.   

    update demoat3.bpartner B 
       set (B.bprnam_0,B.bprsho_0, B.bprlog_0)=( SELECT A.bprnam,A.bprsho_0, A.bprlog_0 FROM test.bpartner A
                                                  where A.bprnum_0=B.bprnum_0 
                                                    AND A.bprnum_0 LIKE 'C02%' )
     where exists ( select 1 from test.bpartner C where C.bprnum_0=B.bprnum_0 
                                                    AND C.bprnum_0 LIKE 'C02%' );
      

  5.   

    update demoat3.bpartner B
    set B.bprsho_0=(select A.bprsho_0 from test.bpartner A where A.bprnum_0=B.bprnum_0),
    B.bprlog_0=(select A.bprlog_0 from test.bpartner A where A.bprnum_0=B.bprnum_0)
    where B.bprnum_0 LIKE 'C02%'
      

  6.   


    才转过来搞ORACLE,各位见笑了。