Sql 更新不存在的表变量

Sql 更新不存在的表变量,sql,sql-server,sql-server-2017,Sql,Sql Server,Sql Server 2017,其中,@Customer是一个表变量: UPDATE @Customer SET ValidaitonAction = 1 WHERE NOT EXISTS (SELECT 1 FROM DMScustomerupload WHERE AccountNumber = @Customer.AccountNumber) 在最后一行,我得到 必须声明标量变量@Customer 您需要一个表别名: DECLARE @Customer TABLE ( ID int,

其中,
@Customer
是一个表变量:

UPDATE 
    @Customer
SET 
    ValidaitonAction = 1
WHERE NOT EXISTS
    (SELECT 1 FROM DMScustomerupload WHERE AccountNumber = @Customer.AccountNumber)
在最后一行,我得到

必须声明标量变量@Customer


您需要一个表别名:

DECLARE @Customer TABLE ( ID int,
                        ValidaitonAction int,
                        ... other columns))

SQL Server自动将以
@
开头的任何内容解释为变量(某种类型)。表别名是另一回事,因此它找不到匹配项。

您需要表别名:

DECLARE @Customer TABLE ( ID int,
                        ValidaitonAction int,
                        ... other columns))

SQL Server自动将以
@
开头的任何内容解释为变量(某种类型)。表别名是另一回事,因此找不到匹配项。

请显示您在哪里
声明@Customer
为表变量使用别名请显示您在哪里
声明@Customer
为表变量使用别名谢谢!我知道我需要一个别名,只是不知道如何声明它。我在设置行上得到了
无效的列名ValidationAction
。(我编辑OP以显示表格声明)/\ignore。输入错误。@caseycrokston
设置C.ValidationAction=1
谢谢!我知道我需要一个别名,只是不知道如何声明它。我在设置行上得到了
无效的列名ValidationAction
。(我编辑OP以显示表格声明)/\ignore。输入错误。@caseycrokston
SET C.ValidationAction=1