存储过程中有如下内容
select * into CurRec from A left join B On A.ID=B.ID left join C On A.ID=C.ID where ...但Wrap执行时报错:
PSU(103,1,780,5):Encountered the symbol "LEFT" when expecting one of the following:   , ; for group having intersect minus order start union where
   connect请问各位大侠这是怎么回事呢?如有详细的WRAP文档就更好了,先谢谢大家了^_^

解决方案 »

  1.   

    用(+)=的方式替代left join试试。
      

  2.   

    楼主的是oracle什么版本??如果是9i以上的可以用left join, 8i或以下的用(+)
      

  3.   

    C:\Documents and Settings\Administrator>wrap iname=D:\SPENTEST\PG\PG_35.pck oname=D:\SPENTEST\PG_EN\PG_35.plb PL/SQL Wrapper: Release 9.2.0.1.0- Production on Fri Nov 03 15:28:55 2006Copyright (c) Oracle Corporation 1993, 2001.  All Rights Reserved.Processing D:\SPENTEST\PG\PG_35.pck to D:\SPENTEST\PG_EN\PG_35.plb
    PSU(103,1,780,5):Encountered the symbol "LEFT" when expecting one of the following:   , ; for group having intersect minus order start union where
       connect
      

  4.   

    刚刚用(+)=的方式替代left join试了下,已经通过了~但搞不懂为什么WRAP不支持Left Join? 汗哦..
      

  5.   

    还有,貌似也不支持:
    update A
      set c1=nvl((select name from B where id='1'),null)
    where id='1';
    晕哦,难道Wrap用的是老版本的哇?
      

  6.   

    应该是Wrap的版本不支持9i以后的新语法。