/**
* 觸發器的使用
* 觸發器在一次會話中,會產生兩張臨時表
* 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...