国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > 文庫 > 正文

特殊的存儲(chǔ)過程-觸發(fā)器概述

2020-10-29 21:55:46
字體:
供稿:網(wǎng)友
本節(jié)將介紹一種特殊的存儲(chǔ)過程,即觸發(fā)器。

一、觸發(fā)器的概念
觸發(fā)器是一種特殊類型的存儲(chǔ)過程,它不同于我們前面介紹過的存儲(chǔ)過程。觸發(fā)器主要是通過事件進(jìn)行觸發(fā)而被執(zhí)行的,而存儲(chǔ)過程可以通過存儲(chǔ)過程名字而被直接調(diào)用。當(dāng)對(duì)某一表進(jìn)行諸如UPDATE、INSERT、DELETE這些操作時(shí),SQL Server就會(huì)自動(dòng)執(zhí)行觸發(fā)器所定義的SQL語句,從而確保對(duì)數(shù)據(jù)的處理必須符合由這些SQL 語句所定義的規(guī)則。 

二、觸發(fā)器的作用
觸發(fā)器的主要作用就是其能夠?qū)崿F(xiàn)由主鍵和外鍵所不能保證的復(fù)雜的參照完整性和數(shù)據(jù)的一致性。除此之外,觸發(fā)器還有其它許多不同的功能: 

A.強(qiáng)化約束
觸發(fā)器能夠?qū)崿F(xiàn)比CHECK 語句更為復(fù)雜的約束。 

B.跟蹤變化
觸發(fā)器可以偵測(cè)數(shù)據(jù)庫內(nèi)的操作從而不允許數(shù)據(jù)庫中未經(jīng)許可的指定更新和變化。 

C.級(jí)聯(lián)運(yùn)行
觸發(fā)器可以偵測(cè)數(shù)據(jù)庫內(nèi)的操作,并自動(dòng)地級(jí)聯(lián)影響整個(gè)數(shù)據(jù)庫的各項(xiàng)內(nèi)容。例如:某個(gè)表上的觸發(fā)器中包含有對(duì)另外一個(gè)表的數(shù)據(jù)操作(如刪除,更新,插入),而該操作又導(dǎo)致該表上觸發(fā)器被觸發(fā)。 

D.存儲(chǔ)過程的調(diào)用

為了響應(yīng)數(shù)據(jù)庫更新,觸發(fā)器可以調(diào)用一個(gè)或多個(gè)存儲(chǔ)過程,甚至可以通過外部過程的調(diào)用而在DBMS本身之外進(jìn)行操作。

由此可見,觸發(fā)器可以解決高級(jí)形式的業(yè)務(wù)規(guī)則或復(fù)雜行為限制以及實(shí)現(xiàn)定制記錄等一些方面的問題。例如,觸發(fā)器能夠找出某一表在數(shù)據(jù)修改前后狀態(tài)發(fā)生的差異,并根據(jù)這種差異執(zhí)行一定的處理。此外一個(gè)表的同一類型(INSERT、UPDATE、DELETE)的多個(gè)觸發(fā)器能夠?qū)ν环N數(shù)據(jù)操作采取多種不同的處理。

總體而言,觸發(fā)器性能通常比較低。  

三、觸發(fā)器的種類
SQL Server 2000支持兩種類型的觸發(fā)器:AFTER觸發(fā)器和INSTEAD OF觸發(fā)器。

AFTER觸發(fā)器要求只有執(zhí)行某一操作(INSERT、UPDATE、DELETE)之后,觸發(fā)器才被觸發(fā),且只能在表上定義。可以為針對(duì)表的同一操作定義多個(gè)觸發(fā)器。

INSTEAD OF觸發(fā)器表示并不執(zhí)行其所定義的操作(INSERT、UPDATE、DELETE),而僅是執(zhí)行觸發(fā)器本身。既可在表上定義INSTEAD OF觸發(fā)器,也可以在視圖上定義INSTEAD OF觸發(fā)器,但對(duì)同一操作只能定義一個(gè)INSTEAD OF觸發(fā)器。

注:在本實(shí)驗(yàn)中不講INSTEAD OF觸發(fā)器

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 天门市| 沙坪坝区| 房山区| 庆阳市| 都昌县| 嘉兴市| 察雅县| 新余市| 宁南县| 呼伦贝尔市| 即墨市| 武宁县| 衡东县| 志丹县| 蓝山县| 新龙县| 土默特左旗| 牡丹江市| 弋阳县| 原阳县| 乌兰察布市| 清流县| 铜川市| 太仓市| 胶南市| 理塘县| 吉木乃县| 碌曲县| 兴化市| 盈江县| 吕梁市| 祁门县| 龙岩市| 蛟河市| 额济纳旗| 邵武市| 中卫市| 白银市| 成都市| 巴南区| 乌审旗|