SQL2005觸發器寫法

2022-10-10 14:30:15 字數 966 閱讀 2511

set ansi_nulls on

set quoted_identifier on

goalter 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

endend

end寫好觸發器後測試,可以直接根據觸發條件改資料表中的資料就可以了

SQL2005觸發器和儲存過程

實現效果 在表 中插入資料時,響應觸發器在另外乙個表插入資料 sql命令 insert into myreport id,myname,mynum values 40 小麥 20 sql 觸發器create trigger insertdatanow on dbo myreport forinser...

SQL2005 庫級觸發器的運用

版本號 2009 5 20 作 者 叮叮貓 起作用 只針對對資料的內錶的增加 刪除修改 但是當你對資料庫內資料的操作 是不能進行捕獲的 use testdb go use testdb gocreate table databaselog 建立一張表進行查詢 posttime datetime,da...

postgresql 觸發器寫法

create or replace function delete fdr returns trigger as delete fdr begin delete from object classes where object classes dataroom id old dataroom id ...