【发布时间】:2016-02-12 12:58:17
【问题描述】:
我有两张桌子。其中一个有员工信息。另一个我想根据这个员工表添加记录。
我想要发生的是,每当对员工表进行工资调整(通过 UDPATE 查询)时,额外的表将添加一行,其中包含新的事件 ID 和调整工资的金额(所以如果5个人的工资增加了1000英镑,那么该行将调整为5000英镑)。
我已经创建了触发器,它会在每次更新时添加行。然而,它没有做的只是带来额外的薪水。我想不出该怎么做。到目前为止我有这个代码;
Create trigger Salaryupdate
On TBL_Employees
For update
As
Insert TBL_audit (notes,Delta,AdjDate)
Select 'Salary update', sum(salary), getdate()
From TBL_Employees
我知道sum 位是错误的,因为我只想要工资值的变化,而不是总和。
如何找到更改的行(或其他方法)的新旧值之间的差异?
我使用的是 SQL Server 2008。
【问题讨论】:
标签: sql sql-server triggers sql-update