我正在尝试为特定数据集创建触发器,这是我正在使用的代码
Create trigger tr_minimum_salary
On tble_SalesReps_TR
After Update as
If update(salary) and datediff(YY,DateOfHire,getdate())>=15
Begin
Raiserror('Employees with more than 15 years of experience cannot recieve less than 100,000 $',0,1)
Rollback
Return
END
它给我一个错误,说'无效的列名称DateofHire'
以下代码有效
Select * from tble_SalesReps_TR
Where datediff(YY,DateOfHire,getdate())>=15
我在触发代码方面做错了什么?
编辑:这是另一个有效的触发器代码,无需使用“FROM”语句
Create trigger tr_nochange_december
On tbls_products_tr
After Update as
If update(UnitsOnOrder) and datepart(m,(getdate()))<>12
Begin
Raiserror('These products can only be purchased in December',0,1)
Rollback
Return
END
答案 0 :(得分:0)
触发器必须包含有效的TSQL。
这是无效的TSQL:
If update(salary) and datediff(YY,DateOfHire,getdate())>=15
如果没有FROM
子句,TSQL不知道DateOfHire
是什么。