--記錄資料庫修改狀態的ddl觸發器
--1、建立日誌表
create table 日誌表
( 日誌編號 int identity(1,1)primary key,
事件 varchar(600),
所用語句 varchar(8000),
操作者 varchar(50),
發生時間 datetime
)--2、建立ddl觸發器,來用記錄修改狀態.
-- eventdata()是乙個資料庫函式,其作用是以xml格式返回有關伺服器或資料庫的事件資訊
create trigger ddl_trigger1
on database
for ddl_database_level_events
as begin
declare @log xml
set @log=eventdata()
insert into 日誌表(事件,所用語句,操作者,發生時間)values
(@log.value('(/event_instance/eventtype)[1]','nvarchar(100)'),
@log.value('(/event_instance/tsqlcommand)[1]','nvarchar(2000)'),
convert(nvarchar(100),current_user),
getdate()
)end---3、測試 例項
create table at
( 名字 varchar(50),
年齡 int
)--4、檢視日誌表
select * from 日誌表
用觸發器記錄資料庫表記錄更改日誌
create trigger dbo triinf organlog on dbo.inf organ after delete,update as begin set nocount on 設定增加觸發器的表 declare table varchar 100 set table inf orga...
資料庫觸發器
觸發器是一種特殊型別的儲存過程,它不同於我們前面介紹過的儲存過程。觸發器主要是通過事件進行觸發而被執行的,而儲存過程可以通過儲存過程名字而 被直接呼叫。當對某一表進行諸如update insert delete 這些操作時,sql server 就會自動執行觸發器所定義的sql 語句,從而確保對資料...
資料庫觸發器
最近做了個觸發器的例子 create trigger tru user on user for update asif update status begin update user set stopflag 1 from inserted where user.userid inserted.us...