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 ...