这是我的程序:
CREATE PROCEDURE deleteThisCusDetails
@customerName nvarchar(50)
AS
BEGIN
DELETE t1, t2, t3
from CustomerMainInfo as t1
join Location as t2 ON t1.customerID = t2.customerID
join Room as t3 on t2.locationID = t3.locationID
WHERE t1.customerName = @customerName
END
当我输入它并在执行它之前,红线显示在t1(仅第一个t1)下,这表示这是一个无效的对象。
我是否对此删除查询做错了什么?我的所有表都存在,为什么t1下的红线?
答案 0 :(得分:3)
我是否对此删除查询做错了什么?
是的,你做错了。您无法使用多个表删除行。 SQL Server中没有多表条目删除规则。
您必须使用以下内容逐一删除它:
delete from table_name where column_name = 'condition'
答案 1 :(得分:0)
My Frnd您可以在SQL Server中使用cascade删除选项来实现此目的。