update test
   SET text ='haha' from test inner join ApplyInfo on AppID = ApplyInfo.ID left join AuditFlow on ApplyInfo.ID = ApplyID
 where AuditFlow.ID = PID这句在SQLSERVER里是能执行的。麻烦各位帮我改成ORACLE9i能执行的版本。小弟才接触ORACLE几天,对这个实在不习惯。
感激不尽

解决方案 »

  1.   

    update test t1 
    SET t1.text ='haha' 
    where exists(select  1 
                 from    ApplyInfo t2, AuditFlow t3 
                 where   t1.AppID = t2.ID 
                 and     t2.ID = t3.ApplyID(+) 
                 and t3.id = PID);
    PID是什么?不是很明白
      

  2.   

    哦。不好意思。写错了。
    感谢解答。感觉有点麻烦呢,转ORACLE之后好多都不习惯
      

  3.   


    pid是另一个test里的字段把。
      

  4.   

    恩,之前做Informix也有同样的感觉
      

  5.   

    麻烦各位,又遇到个问题。我用
    IF PAU='V' then
    下面接刚才1楼写那句,为什么不能执行?PAU是参数
    错误提示是:错误:PLS-00103: 出现符号 "IF"在需要下列之一时:
            := . ( @ % ;
           符号 ";" 被替换为 "IF" 后继续。
    行:20
    文本:if PAUDIT='V' then