delete from bsp.receive where rowid in(select  a.rowid from bsp.receive a, bsp.receive b where a.rowid>b.rowid and a.PONO=B.PONO and  a.LINENO=b.LINENO and a.AUTONO=b.AUTONO )在ODAC里用这个查询总是报SELECT语句缺少了KEYWORD

解决方案 »

  1.   

    怀疑是delphi自己做语法检查时错误的认为语句不合法。我在delphi 3中连接sybase时也遇到类似的错误,是无法执行select into .. from ...语句,但实际上语句在sybase客户端是能够通过的
      

  2.   

    试试将语句用begin end包起来。
    begin
    delete from bsp.receive where rowid in(select  a.rowid from bsp.receive a, bsp.receive b where a.rowid>b.rowid and a.PONO=B.PONO and  a.LINENO=b.LINENO and a.AUTONO=b.AUTONO ) ;
    end;
      

  3.   

    加BEGIN和END是在DELPHI里加还是在sql语句上加
      

  4.   

    加了不行,我是有ODAC 的query做这个SQL操作的