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