對觸發器的理解

2021-10-24 11:22:33 字數 1303 閱讀 3054

觸發器是指當表發生改變的時候觸發的動作,當你插入一條記錄到表中的時候,此時表已經發生了改變,現在想要在每次插入資料之前檢測所有的入參是否都是小寫,此時可以用觸發器來檢測。

發生改變通常是指update、insert、alter等操作(增刪改),其動作可以發生在增刪改之前或之後,觸發時間就是我們要寫的儲存過程。

觸發器的基本語法:

建立觸發器:create trigger 觸發器名稱  觸發動作 on 表名 for each row [觸發事件];

刪除觸發器:drop trigger 觸發器名稱 ;

注:觸發器是基於表建立的,由於檢視不是真實的表,所以他沒有觸發器。

insert觸發器示例:

建立觸發器:觸發器getsalary作用於salary_detail表的每行,當插入一條記錄到salary_detail,就會將salary傳給變數@salary.其中new是一張虛表,記錄被插入的行。

-- insert 觸發器

create trigger getsalary after insert on salary_detail for each row

select new.salary into @salary;

檢測插入觸發器:插入資料後,查詢變數@salary會顯示對應的值20.00

-- 檢測插入觸發器

insert into `salary_detail`( `id`, `salary`, `name`) values ( '01', 20.00, '張三');

select @salary;

update觸發器示例

建立觸發器:觸發器getsalary作用於salary_detail表的每行,當更新一條記錄到salary_detail,就會將salary傳給變數@salary.其中new是一張虛表,用於記錄被插入的行。

--update 觸發器

create trigger setsalary after update on salary_detail for each row

select new.salary into @salary;

檢測插入觸發器:插入資料後,查詢變數@salary會顯示對應的值100.00

-- 檢測插入觸發器

update `salary_detail` set salary='100.00' where id=4;

select @salary;

對觸發器的理解

觸發器是一種專用型別的儲存過程,它被 到sql server 的 或者檢視上。它可以強化約束,來維護資料的完整性和一致性,可以跟蹤資料庫內的操作從而不允許未經許可的更新和變化。可以聯級運算。如,某錶上的觸發器上包含對另乙個表的資料操作,而該操作又會導致該錶觸發器被觸發。有instead of和aft...

理解T SQL 觸發器

觸發器是一種響應特定事件的特殊型別的儲存過程。有兩種型別的觸發器 資料定義語言 ddl 和資料操作語言 dml 觸發器。ddl能夠響應某種方式 create,alter,drop 修改資料庫結構時激發 dml是附加在特定表和檢視上的 程式不能顯式呼叫觸發器,觸發器 是某種事件產生後被自動執行。ddl...

理解T SQL 觸發器

觸發器是一種響應特定事件的特殊型別的儲存過程。有兩種型別的觸發器 資料定義語言 ddl 和資料操作語言 dml 觸發器。ddl能夠響應某種方式 create,alter,drop 修改資料庫結構時激發 dml是附加在特定表和檢視上的 程式不能顯式呼叫觸發器,觸發器 是某種事件產生後被自動執行。ddl...