【Transact-SQL】教材 [例5.22] “觸發器”(TRIGGER)

【例5.22】-P169 觸發器使用說明

1. 參考教材內容,新建Student表

2. 新建表StudentInsertLog

存儲學生人數

CREATE TABLE StudentInsertLog
(
Numbers INT
)

3. 新建表StudentInsertLogUser

存儲用戶名和操作時間

CREATE TABLE StudentInsertLogUser
(
  UserName nchar(10),
  DateAndTime datetime
)

4. 新建觸發器Student_Count

當插入新的學生記錄時,觸發器啓動,自動在StudentInsertLog記錄學生人數

CREATE TRIGGER Student_Count
ON Student  	         
AFTER
INSERT
AS 
    INSERT INTO StudentInsertLog(Numbers)
	  SELECT COUNT(*) FROM Student

5. 新建觸發器Student_Time

當插入新的學生記錄時,觸發器啓動,自動在StudentInsertLogUser記錄用戶名和操作時間

CREATE TRIGGER Student_Time
ON Student  	         
AFTER
INSERT
AS 
	declare @UserName    nchar(10)
	declare @DateTime    datetime

	select @UserName = system_user
	select @DateTime = CONVERT(datetime,GETDATE(),120) --2018-04-11 16:33:10

	INSERT INTO StudentInsertLogUser(UserName,DateAndTime)
	VALUES (@UserName,@DateTime)

6. 測試觸發器效果

INSERT
INTO  Student
VALUES ('201215135','王五','男',18,'CS');
SELECT * FROM Student
SELECT * FROM StudentInsertLog
SELECT * FROM StudentInsertLogUser

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章