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

新手上路,请多包涵

这是我正在使用的查询:

  DELETE TB1.*, TB2.*
   FROM TB1
        INNER JOIN TB2 ON TB1.PersonID = TB2.PersonID
  WHERE (TB1.PersonID)='2'

它在 MS Access 中运行良好,但在 SQL Server Express 2005 中出现错误(’,‘.附近的语法不正确)。

如何解决?请帮忙。

原文由 Jobi 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 309
1 个回答

我用来从 SQL Server 中的多个表中删除行的方式?最重要的是在表中创建外键时使用 on delete cascade

 #Table 1 Create:#

create table Customer_tbl
(
C_id int primary key,
C_Name varchar(50),
C_Address varchar(max),
City varchar(50)
);

#Table 2: Create with Foreign Key Constraints#

create table [order]
(
Ord_Id int primary key,
Item varchar(50),
Quantity int,
Price_Of_1 int,
C_id int foreign key references Customer_tbl(C_id)
on delete cascade

);

delete from Customer_tbl where C_id = 2;

原文由 WAHEED ARSHAD 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进