UPDATE
@Customer
SET
ValidaitonAction = 1
WHERE NOT EXISTS
(SELECT 1 FROM DMScustomerupload WHERE AccountNumber = @Customer.AccountNumber)
Where @Customer is a TABLE variable:
DECLARE @Customer TABLE ( ID int,
ValidaitonAction int,
... other columns))
On the last line, I get
Must declare scalar variable @Customer
Advertisement
Answer
You need a table alias:
UPDATE c
SET ValidationAction = 1
FROM @Customer c
WHERE NOT EXISTS (SELECT 1 FROM DMScustomerupload cu WHERE cu.AccountNumber = c.AccountNumber);
SQL Server automatically interprets anything that starts with a @ as a variable (of some sort). Table aliases are a different thing, so it doesn’t find a match.