SQL2005触发器写法

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

 

ALTER Trigger [tr_CRM_ProjectTransfer_Update]                                         --开始建立 用CREAT
 On [dbo].[CRM_ProjectTransfer]--在CRM_ProjectTransfer表中创建触发器
 for Update--为什么事件触发
As--事件触发后所要做的事情
 if Update(StateID) Begin
IF (Select Count(*) From Inserted)>1 Begin 
  ROLLBACK TRANSACTION
  RAISERROR ('必须一条一条来!!!',16,1)
 End ELSE Begin
 Declare @stateid1 int,@stateid2 int,@ID int,@BusID int
  Select @ID=ID,@stateid2=StateID From Inserted                  --Inserted是更新后的记录
  Select @stateid1=StateID, @BusID=BusID From Deleted       --deleted是原来的那条记录
  IF  @stateid1<>9999 and @stateid2=9999
Begin
 Update CRM_Project
Set ProjectOwned='工程部',Manager=
(select PuserID from  CRM_ProjectTransfer pt
where pt.id=@ID)

Where ID=@BusID

 end
end
End


写好触发器后测试,可以直接根据触发条件改数据表中的数据就可以了

你可能感兴趣的:(sql2005)