一个SQL触发器的问题.请帮忙!谢谢!
我有一个触发器,如果Effect字段为1时,就更新另一张表的Salary字段.但为何有多条记录的Effect字段都被更新为1时,却只更新一条Salary记录呢?触发器如下:
CREATE trigger tg_raises
on dbo.Raises
for insert,update
as
declare @Employeeid int
declare @Effect int
declare @NewSalary int
select @NewSalary=NewSalary,@Effect=Effect,@Employeeid=Employeeid from inserted
if @Effect=1
begin
update employeesalary set Salary=@NewSalary where Employeeid=@Employeeid
end
参考答案:能把两个表的结构发出来看看吗?帮你写一个。
CREATE trigger tg_raises
on 加薪表
for update
as
declare @Employeeid int
declare @Effect int
declare @NewSalary int
select @Effect=Effect,@Employeeid=id from DELETED
select @NewSalary=NewSalary from inserted
if @Effect=1
begin
update 薪资表 set Salary=@NewSalary where id=@Employeeid
end