999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

SQL Server中觸發器技術的研究

2014-10-21 20:08:18楊銘
科技視界 2014年36期
關鍵詞:數據庫

楊銘

【摘 要】觸發器是SQL Server重要的數據庫對象,使用觸發器來完成業務規則,能達到簡化程序設計的目的。本文介紹觸發器的概念、優點,以及使用Transact-SQL語句創建觸發器的方法。

【關鍵詞】數據庫;視圖;SQL Server

1 觸發器的概念

在SQL Server 2005數據庫系統中,存儲過程和觸發器都是SQL語句和流程控制語句的集合。就本質而言,觸發器也是一種存儲過程,它是一種在基本表被修改時自動執行的內嵌過程,主要通過事件進行觸發而被執行,而存儲過程可以通過存儲過程名字而被直接調用。當對某一張表進行諸如UPDATE.、INSERT、DELETE這些操作時,SQL Server 2005就會自動執行觸發器所定義的SQL語句。從而確保對數據的處理符合由這些SQL語句所定義的規則。觸發器的主要作用是其能實現由主鍵和外鍵所不能保證的復雜的參照完整性和數據的一致性。除此之外,觸發器還有其他許多不同的功能。

2 使用觸發器的優點

由于在觸發器中可以包含復雜的處理邏輯,因此,應該將觸發器用來保持低級的數據的完整性,而不是返回大量的查詢結果。使用觸發器主要可以實現以下操作:

1)強制比CHECK約束更復雜的數據的完整性

在數據庫中要實現數據的完整性的約束,可以使用CHECK約束或觸發器來實現。但是在CHECK約束中不允許引用其他表中的列來完成檢查工作,而觸發器可以引用其他表中的列來完成數據的完整性的約束。

2)使用自定義的錯誤提示信息

用戶有時需要在數據的完整性遭到破壞或其他情況下,使用預先自定義好的錯誤提示信息或動態自定義的錯誤提示信息。通過使用觸發器,用戶可以捕獲破壞數據的完整性的操作,并返回自定義的錯誤提示信息。

3)實現數據庫中多張表的級聯修改

用戶可以通過觸發器對數據庫中的相關表進行級聯修改。

4)比較數據庫修改前后數據的狀態

觸發器提供了訪問有INSERT、UPDATE或DELETE語句引起的數據前后狀態變化的能力。因此用戶就可以在觸發器中引用由于修改所影響的記錄行。

5)維護規范化數據

用戶可以使用觸發器來保證非規范數據庫中的低級數據的完整性。維護非規范化數據與表的級聯是不同酌。表的級聯指的是不同表之間的主外鍵關系,維護表的級聯可以通過設置表的主鍵與外鍵的關系來實現。而非規范數據通常是指在表中派生的、冗余的數據值,維護非規范化數據應該通過使用觸發器來實現。

3 觸發器的創建

基本語法如下:

CREATE TRIGGER trigge_name

ON{table|view}

{ FOR |AFTER|INSTEAD OF } { [INSERT] , [UPDATE] , [DELETE]}

[WITH ENCRYPTION]

AS

IF UPDATE (cotumn_name)

[ { and|or} UPDATE (column_name) …]

sql_statesments

其中:

(1)trigge_name:是觸發器的名稱,用戶可以選擇是否指定觸發器所有者名稱。

(2)table|view:是執行觸發器的表或視圖,可以選擇是否指定表或視圖的所有者名稱。

(3)AFTER:是指在對表的相關操作正常操作后,觸發器被觸發。如果僅指定FOR關鍵字,則AFTER是默認設置。

(4)INSTEAD OF:指定執行觸發器而不是執行觸發語句,從而替代觸發語句的操作。可以為表或視圖中的每個INSERT、UPDATE或DELETE語句定義一個INSTEAD OF觸發器。如果在對一個可更新的視圖定義時,使用了WITH CHECK OPTION選項,則lNSTEAD OF觸發器不允許在這個視圖上定義。用戶必須用ALTER VIEW刪除選項后,才能定義INSTEAD OF觸發器。

(5){[INSERT],[UPDAYE],[DELETE]}:是指在表或視圖上執行哪些數據修改語句時激活觸發器的關鍵字。這其中必須至少指定一個選項。在觸發器定義中允許使用以任意順序組合的關鍵字。如果指定的選項多于一個,需要用逗號分隔。對于INSTEAD OF觸發器,不允許在具有ON DELETE級聯操作引用關系的表上使用DELETE選項。同樣,也不允許在具有ON UPDATE級聯操作引用關系的表上使用UPDATE選項。

(6)ENCRYPTION:是加密含有CREAIE TRIGGER語句正文文本的syscomments項,這是為了滿足數據安全的焉要。

(7)sql_statesments:定義觸發器被觸發后,將執行數據庫操作。它指定觸發器執行的條件和動作。觸發器條件是除引起觸發器執行的操作外的附加條件;觸發器動作是指當前用戶執行激發觸發器的某種操作并滿足觸發器的附加條件時,觸發器所執行的動作。

(8)IF UPDATE:指定對表內某列做增加或修改內容時,觸發器才起作用,它可以指定兩個以上列,列名前可以不加表名。IF子句中多個觸發器可以放在BEGIN和END之間。

4 結語

觸發器是SQL server 提供給程序員和數據分析員來保證數據完整性的一種方法,它是一種特殊的存儲過程,它的執行不是由程序調用,也不是手工啟動,而是由事件來觸發,正確使用觸發器,是在數據庫中實現數據的完整性的重要方法之一。

【參考文獻】

[1]韋晨艷,楊鍵鳴,姚斯立.SQL數據庫中存儲過程、觸發器的應用研究[J].中國信息界,2011(06).

[2]鐘亞妹.觸發器在SQL Server數據庫開發中的應用與研究[J].電腦知識與技術,2011(11).

[3]徐友武.SQL Server 2005觸發器應用研究[J].計算機與信息技術,2009(09).

[責任編輯:楊玉潔]

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
兩種新的非確定數據庫上的Top-K查詢
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2015年3期)2015-06-09 17:41:31
數據庫
財經(2014年21期)2014-08-18 01:50:18
數據庫
財經(2014年6期)2014-03-12 08:28:19
數據庫
財經(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 国产区在线观看视频| 日韩精品无码免费一区二区三区| 日本人妻丰满熟妇区| 欧美另类第一页| 亚洲精品无码不卡在线播放| 欧美在线视频不卡第一页| 国产一区在线视频观看| 亚洲日韩欧美在线观看| 黑色丝袜高跟国产在线91| 亚洲黄色网站视频| 久久精品人妻中文系列| 亚洲精品无码抽插日韩| 一级香蕉人体视频| 91偷拍一区| 五月婷婷综合网| 91欧美在线| 国产另类视频| 亚洲国产精品不卡在线| 亚洲三级电影在线播放| 久久综合AV免费观看| 青草视频在线观看国产| 2020极品精品国产| 欧美一级高清视频在线播放| 91无码人妻精品一区| 国内精品视频| 99手机在线视频| 欧美成人a∨视频免费观看 | 国产第八页| 毛片基地视频| 亚洲无码不卡网| 免费在线成人网| 亚洲成人77777| 国产精品网曝门免费视频| 久久动漫精品| 亚洲综合极品香蕉久久网| 欧美一区日韩一区中文字幕页| 国产成人AV综合久久| 高潮爽到爆的喷水女主播视频| 日本影院一区| 五月天久久综合| 国产成人精彩在线视频50| 黄色a一级视频| 欧美成人精品一级在线观看| 成人在线不卡视频| 欧美精品一区在线看| 婷婷五月在线视频| 欧美激情,国产精品| 欧美亚洲欧美区| 九九久久精品国产av片囯产区| 18黑白丝水手服自慰喷水网站| 免费毛片全部不收费的| 白浆免费视频国产精品视频| 四虎影视8848永久精品| 国产99精品视频| 国产精品国产三级国产专业不| 欧美精品成人| 91精品综合| 久久精品丝袜高跟鞋| 亚洲中文无码h在线观看 | 美女一区二区在线观看| 成人午夜亚洲影视在线观看| 国产精品漂亮美女在线观看| 亚洲精品无码久久久久苍井空| 日本欧美中文字幕精品亚洲| 亚洲无码高清一区二区| 一本大道香蕉高清久久| 国产成人精品一区二区不卡| 91无码人妻精品一区| 日本尹人综合香蕉在线观看| 国产精品久久久久婷婷五月| 午夜国产大片免费观看| 久久无码av一区二区三区| 精品欧美一区二区三区久久久| 国产亚洲精品yxsp| 午夜在线不卡| 免费无码AV片在线观看中文| 国产91线观看| 国产va在线观看免费| 国产成人资源| 3D动漫精品啪啪一区二区下载| 久热这里只有精品6| 无码免费视频|