我想在query中一次性删除掉多个表中的数据?
id:=10000
with query1 do
begin
  close;
  sql.clear;
  sql.Add(' delete from ININFO where INID='+''''+Id+'''');
  Sql.Add(' delete from workname where inid='+''''+Id+'''');
  Sql.Add(' delete from workname2 where inid='+''''+Id+'''');
  execsql;
end;
在Sql server中没问题.
请中在Oracle中怎么写?

解决方案 »

  1.   

    我在每个Delete后面加了分号也不行。
      

  2.   

    sql.Add(' delete from ININFO where INID='+''''+Id+''';');
      Sql.Add(' delete from workname where inid='+''''+Id+''';');
      Sql.Add(' delete from workname2 where inid='+''''+Id+''';');试试
      

  3.   

    sql.Add(' delete from ININFO where INID='+''''+Id+''';');
      Sql.Add(' delete from workname where inid='+''''+Id+''';');
      Sql.Add(' delete from workname2 where inid='+''''+Id+''';');
    不行,试过了。
       sql.Add(' delete from ININFO where INID='+''''+Id+''''+';');
      Sql.Add(' delete from workname where inid='+''''+Id+''''+';');
      Sql.Add(' delete from workname2 where inid='+''''+Id+''''+';');
    这样也不行。