mysql - 在 Visual Studio 2010 中更新触发器

标签 mysql sql database visual-studio-2010

我在 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

我希望它像那样工作:

  • 我在 NewSalary 表中将薪水设置为 0
  • employees 表中的薪水更改为 0

我得到的错误是

"multi-part identifier "NewSalary.ID" could not be bound"

我假设没有“内部连接”,但我不知道如何使用它

最佳答案

尝试将 ON Employees 更改为 ON NewSalary

找不到 NewSalary.ID,因为未引用 NewSalary 表。

当我遇到 SQL 问题时,我通常会把它们说出来以比较逻辑

旧的:
每次更新 Employees 后,更新 employees 并设置 salary = 0 where NewSalary.ID = employees.ID。

新:
每次更新 NewSalary 后,更新 employees 并设置 salary = 0 where NewSalary.ID = employees.ID。

看出区别了吗?

关于mysql - 在 Visual Studio 2010 中更新触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44568077/

相关文章:

mysql - 获取Mysql数量

mysql - 当新记录插入另一个表时更新计数器字段

mysql - 如何使用 JOIN 而不是子查询(NOT IN)

mysql - 如何在数据库中存储评论等大量数据

PHP MYSQL XML 错误

c# - 与 SQLite/SubSonic(或任何其他数据库)一起使用时,避免在项目中使用 App.config 文件

php - PHP 数据库 ID 列中的最后一个条目(主键)

mysql - 利用大数据更新查询优化

java - JOOQ - 未应用内联转换器

mysql - 子查询没有输出正确的结果?