Sql 觸發器的簡單使用

2021-09-19 12:46:27 字數 1275 閱讀 5298

/**

* 觸發器的使用

* 觸發器在一次會話中,會產生兩張臨時表

* 1.deleteed 刪除動作臨時表,記錄刪除的資料。

* 2.insert 插入動作臨時表,記錄插入的資料。

* 3.觸發器不存在update 臨時表,因為update操作是先刪除,再插入。

* 4.上面兩張臨時表,表結構和當前操作表結構是相同的。

**/--建立乙個觸發器。eg: create trigger 觸發器名稱

create trigger trilog

--針對那個表來觸發,類似事件。eg: on 表名

on dbo.table

--for 限制觸發的動作,資料庫動作有insert delete

--instead of 不限制操作,一般用來刪除資料

for insert

--操作什麼動作

as--開始

begin

--編寫動作**塊

declare @name varchar(50);--定義乙個變數,記錄操作人name

select @name=name from inserted

insert into triglog(logcontent, createuser, logtype)

values

('新增資料', @name, '新增')

end--結束

--建立日誌表

create table triglog(

id int identity(1,1) not null,

logcontent nvarchar(100),

createuser int not null,

logtype nvarchar(50),

createdatetime datetime,

primary key (id)

)--演示插入資料

insert into table(l1,l2) values(l1,l2);

插入結果:

從上面可以看見,影響行數是兩行,一行是資料來源本身,另一行就是觸發器自動記錄資料

sql觸發器的使用

觸發器的幾條效果語句 after在觸發事件之後 befor 在觸發器之前 insert 觸發的條件 update 更新事件 delete 刪除事件 insert 插入事件 例項 delimiter 把語句結束符號換成 因為trigger中會用到 create trigger t1 after ins...

SQL的觸發器

觸發器的概念 觸發器 trigger 是sql server 提供給程式設計師和資料分析員來保證資料完整性的一種方法,它是與表事件相關的特殊的儲存過程,它的執行不是由程式呼叫,也不是手工啟動,而是由事件來觸發,比如當對乙個表進行操作 insert,delete,update 時就會啟用它執行。個人理...

sql 觸發器 直接遞迴觸發器

create trigger dbo loving20000 on dbo s for delete asdeclare age int select age sage from deleted delete s where sage age delete from s where sname xq...