(7 1 4)SQL中的觸發器trigger

2021-06-29 09:20:12 字數 2101 閱讀 6157

inserted,deleted是在觸發器中使用的兩個臨時表,當執行insert操作時,在inserted中儲存著當前插入的記錄,在執行delete操作時,在deleted中儲存著當前刪除的記錄,當執行update時,在inserted中儲存著修改後的記錄,在deleted中儲存著修改前的記錄。

建立觸發器

[sql]view plain

copy

print?

create

trigger

觸發器名稱  

on表名  

assql 語句 [ ... n ]   

刪除觸發器:

[sql]view plain

copy

print?

drop

trigger

觸發器名 [ , ... n ]  

修改觸發器:

[sql]view plain

copy

print?

alter

trigger

觸發器名稱  

on表名  

assql 語句 [ ... n ]   

開啟和禁用:

[sql]view plain

copy

print?

disable 

trigger

trigdb 

ondatabase

--禁用觸發器

enable trigger

trigdb 

ondatabase

--開啟觸發器 示例

在s表建立update觸發器:

[sql]view plain

copy

print?

create

trigger

tri_updates  

ons  

forupdate

asprint 'the table s was updated'

禁止刪除sc表中成績不及格學生的記錄:

[sql]view plain

copy

print?

create

trigger

tri_del_grade  

onsc 

fordelete

asif exists(select

* from

deleted      

where

grade < 60)  

rollback

禁止將sc表中不及格學生的成績改為及格:

[sql]view plain

copy

print?

create

trigger

tri_update_grade  

onsc 

forupdate

asif update

(grade)  

if exists(select

* from

inserted,deleted  

where

inserted.sno=deleted.sno 

andinserted.grade>=60 

anddeleted.grade<60)  

begin

print '不能將不及格的成績改為及格'

rollback

end

sql中的觸發器

本文結合某位大神寫的 資料庫觸發器的分類與區別 所寫,有些例子等,均摘至此文 一.觸發器是什麼 觸發器 trigger 是sql server 提供給程式設計師和資料分析員來保證資料完整性的一種方法,它是與表事件相關的特殊的儲存過程,它的執行不是由程式呼叫,也不是手工啟動,而是由事件來觸發,比如當對...

sql中的觸發器

本文結合某位大神寫的 資料庫觸發器的分類與區別 所寫,有些例子等,均摘至此文 一.觸發器是什麼 觸發器 trigger 是sql server 提供給程式設計師和資料分析員來保證資料完整性的一種方法,它是與表事件相關的特殊的儲存過程,它的執行不是由程式呼叫,也不是手工啟動,而是由事件來觸發,比如當對...

SQL的觸發器

觸發器的概念 觸發器 trigger 是sql server 提供給程式設計師和資料分析員來保證資料完整性的一種方法,它是與表事件相關的特殊的儲存過程,它的執行不是由程式呼叫,也不是手工啟動,而是由事件來觸發,比如當對乙個表進行操作 insert,delete,update 時就會啟用它執行。個人理...