亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        SQL Server中觸發(fā)器技術(shù)的研究

        2014-10-21 20:08:18楊銘
        科技視界 2014年36期
        關(guān)鍵詞:視圖數(shù)據(jù)庫

        楊銘

        【摘 要】觸發(fā)器是SQL Server重要的數(shù)據(jù)庫對象,使用觸發(fā)器來完成業(yè)務(wù)規(guī)則,能達到簡化程序設(shè)計的目的。本文介紹觸發(fā)器的概念、優(yōu)點,以及使用Transact-SQL語句創(chuàng)建觸發(fā)器的方法。

        【關(guān)鍵詞】數(shù)據(jù)庫;視圖;SQL Server

        1 觸發(fā)器的概念

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

        2 使用觸發(fā)器的優(yōu)點

        由于在觸發(fā)器中可以包含復(fù)雜的處理邏輯,因此,應(yīng)該將觸發(fā)器用來保持低級的數(shù)據(jù)的完整性,而不是返回大量的查詢結(jié)果。使用觸發(fā)器主要可以實現(xiàn)以下操作:

        1)強制比CHECK約束更復(fù)雜的數(shù)據(jù)的完整性

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

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

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

        3)實現(xiàn)數(shù)據(jù)庫中多張表的級聯(lián)修改

        用戶可以通過觸發(fā)器對數(shù)據(jù)庫中的相關(guān)表進行級聯(lián)修改。

        4)比較數(shù)據(jù)庫修改前后數(shù)據(jù)的狀態(tài)

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

        5)維護規(guī)范化數(shù)據(jù)

        用戶可以使用觸發(fā)器來保證非規(guī)范數(shù)據(jù)庫中的低級數(shù)據(jù)的完整性。維護非規(guī)范化數(shù)據(jù)與表的級聯(lián)是不同酌。表的級聯(lián)指的是不同表之間的主外鍵關(guān)系,維護表的級聯(lián)可以通過設(shè)置表的主鍵與外鍵的關(guān)系來實現(xiàn)。而非規(guī)范數(shù)據(jù)通常是指在表中派生的、冗余的數(shù)據(jù)值,維護非規(guī)范化數(shù)據(jù)應(yīng)該通過使用觸發(fā)器來實現(xiàn)。

        3 觸發(fā)器的創(chuàng)建

        基本語法如下:

        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:是觸發(fā)器的名稱,用戶可以選擇是否指定觸發(fā)器所有者名稱。

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

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

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

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

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

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

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

        4 結(jié)語

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

        【參考文獻】

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

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

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

        [責(zé)任編輯:楊玉潔]

        猜你喜歡
        視圖數(shù)據(jù)庫
        5.3 視圖與投影
        視圖
        Y—20重型運輸機多視圖
        SA2型76毫米車載高炮多視圖
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        丰满熟妇人妻av无码区 | 精品一区二区三区中文字幕在线| 欧美日韩中文字幕久久伊人| 国产国拍亚洲精品永久69| 日日噜噜夜夜久久密挑| 97精品一区二区三区| 野花社区视频在线观看| 精品欧美乱子伦一区二区三区| 久久久亚洲精品免费视频| 国产一区二区三区视频在线观看| 国产精品亚洲专区无码不卡| 蜜桃无码一区二区三区| 亚洲熟妇色xxxxx欧美老妇| 用力草我小逼视频在线播放| 亚洲精品中文字幕一二三区| 一本一道波多野结衣av中文| 伊人网综合| 亚洲第一页在线免费观看| 亚洲国产婷婷六月丁香| 夜夜欢性恔免费视频| 精品久久久久久午夜| 亚洲综合一区二区三区在线观看| 亚洲国产美女精品久久久久∴| 亚洲av无码成人黄网站在线观看| 91情侣在线精品国产免费| 国产91在线精品观看| 欧美精品欧美人与动人物牲交 | 欧美极品第一页| 国产99视频一区二区三区| 亚洲欧洲免费无码| 人妻丰满熟妇av无码区免| 国产精品亚洲综合天堂夜夜| 日本黄色影院一区二区免费看| 奇米影视第四色首页| 国产亚洲欧美日韩综合一区在线观看 | 人人摸人人搞人人透| 无码少妇a片一区二区三区| 成人永久福利在线观看不卡| 国产精品一区二区夜色不卡| 国产做爰又粗又大又爽动漫| 99爱这里只有精品|