我在Visual Studio 2010中的SQL触发器有问题。我有 2 张桌子,我想用一张桌子在另一张桌子上进行操作。
代码如下:
ALTER TRIGGER update_costs
ON employees
AFTER UPDATE
AS
BEGIN
UPDATE employees
SET salary = 0
WHERE NewSalary.ID=employees.ID
PRINT 'Salary is now set on 0'
END
我希望它像那样工作:
- 我在 0 上的新工资表中设置工资
- 员工表中的工资更改为 0
我得到的错误是
"无法绑定多部分标识符"NewSalary.ID">
我假设没有"内部连接",但我不知道如何使用它
尝试将ON Employees
更改为 ON NewSalary
。
它找不到 NewSalary.ID,因为未引用 NewSalary 表。
当我遇到SQL问题时,我通常会说出来比较逻辑
老:
每次更新员工后,更新员工并设置 薪水 = 0,其中 NewSalary.ID = employees.ID。
新增功能:
每次更新 NewPay 后,更新员工并设置 薪水 = 0,其中 NewSalary.ID = employees.ID。
看到区别了吗?