觸發器簡單介紹

2021-08-08 02:08:01 字數 1330 閱讀 9300

觸發器:根據事件觸發機制自動觸發的一段sql語句。觸發器的主要作用

觸發器分為兩種:資料操作語言觸發器和資料定義語言觸發器

觸發型別包括:insert、update、delete

兩張主要的表deleted和inserted

deleted表 執行delete或update操作時,被刪除的記錄會被移到deleted表中

inserted表 執行insert或update操作時,新的表會插入到inserted表中

用途:防止資料庫框架進行某些修改或記錄修改時間,如(drop、alter)

觸發器執行的目的分為after 、instead of。after執行sql語句後觸發,instead of執行sql語句前觸發,代替sql語句執行。

資料刪除回滾,使用者表[test_users],當刪除使用者id為3的資料時資料回滾提醒不讓刪除

create

table [dbo].[test_users](

[user_id] [int] identity(1,1) not

null,

[user_code] [varchar](50) null,

[user_name] [varchar](50) null,

[user_address] [varchar](200) null,

constraint [pk_test_users] primary

key clustered

( [user_id] asc

)with (pad_index = off, statistics_norecompute = off, ignore_dup_key = off, allow_row_locks = on, allow_page_locks = on) on [primary]

) on [primary]

觸發器

create

trigger utrggername

on test_users

after

delete

asbegin

set nocount on;

if exists(select * from deleted

where user_id = 3)

begin

print '該條資料不能刪除'

rollback;

endend

執行語句如果資料存在,保錯提示資料不能刪除

delete from [test_users]

where user_id = 3;

Oracle觸發器簡單介紹

作用 在動作執行之前或之後,執行一系列邏輯 分類 1 語句級觸發器 不管影響多少行,都只會執行一次 2 行級觸發器 影響多少行,就觸發多少次 標誌 有 for each row 特有功能 old 代表舊的記錄行 new 代表新的記錄行 語法 create or replace trigger 觸發器...

觸發器介紹

觸發器介紹 觸發器是一種特殊的儲存過程,它在插入,刪除或修改特定表中的資料時觸發執行,它比資料庫本身標準的功能有更精細和更複雜的資料控制能力。資料庫觸發器有以下的作用 安全性。可以基於資料庫的值使使用者具有運算元據庫的某種權利。可以基於時間限制使用者的操作,例如不允許下班後和節假日修改資料庫資料。可...

觸發器介紹

觸發器介紹 觸發器是一種特殊的儲存過程,它在插入,刪除或修改特定表中的資料時觸發執行,它比資料庫本身標準的功能有更精細和更複雜的資料控制能力。資料庫觸發器有以下的作用 安全性。可以基於資料庫的值使使用者具有運算元據庫的某種權利。可以基於時間限制使用者的操作,例如不允許下班後和節假日修改資料庫資料。可...