使用具有WHERE条件的单个查询(SQL Express 2005)从多个表中删除行

Job*_*obi 20 sql sql-server sql-server-2005-express sql-server-express

这是我正在使用的查询:

 DELETE TB1.*, TB2.*
   FROM TB1
        INNER JOIN TB2 ON TB1.PersonID = TB2.PersonID 
  WHERE (TB1.PersonID)='2'
Run Code Online (Sandbox Code Playgroud)

它在MS Access中工作正常但在SQL Server Express 2005中收到错误(','.附近的语法不正确).

怎么解决?请帮忙.

Mat*_*ijs 18

您不能DELETE在具有单个表达式的多个表中使用SQL 2005- 或者任何其他标准SQL.Access这是例外.

获得此效果的最佳方法是FOREIGN KEYS在表之间指定ON DELETE trigger.


Ces*_*sar 11

你为什么不用DELETE CASCADE FK