删除时sql中的对象名无效

时间:2014-07-12 18:15:26

标签: sql sql-delete

这是我的程序:

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下的红线?

2 个答案:

答案 0 :(得分:3)

  

我是否对此删除查询做错了什么?

是的,你做错了。您无法使用多个表删除行。 SQL Server中没有多表条目删除规则。

您必须使用以下内容逐一删除它:

delete from table_name where column_name = 'condition'

答案 1 :(得分:0)

My Frnd您可以在SQL Server中使用cascade删除选项来实现此目的。