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

        ?

        SQL Server中多行數(shù)據(jù)更新的觸發(fā)器應(yīng)用研究

        2010-09-05 01:49:54鄧景順
        關(guān)鍵詞:山西大同中總觸發(fā)器

        鄧景順,黃 杰

        (山西大同大學(xué)數(shù)學(xué)與計算機科學(xué)學(xué)院,山西大同 037009)

        SQL Server中多行數(shù)據(jù)更新的觸發(fā)器應(yīng)用研究

        鄧景順,黃 杰

        (山西大同大學(xué)數(shù)學(xué)與計算機科學(xué)學(xué)院,山西大同 037009)

        觸發(fā)器是一種特殊的存儲元件,它可以方便地基于一個表的數(shù)據(jù)更新,自動更新其他相關(guān)表的記錄,以保證數(shù)據(jù)的完整性.文章通過開發(fā)實例,闡述SQL Server中多行數(shù)據(jù)更新的觸發(fā)器處理方法.

        SQL Server 多行數(shù)據(jù)更新 觸發(fā)器

        1 問題的提出

        數(shù)據(jù)更新操作有三種:向數(shù)據(jù)表中添加記錄、修改記錄、刪除記錄.在SQL Server觸發(fā)器應(yīng)用中,大家對由一個記錄更新操作激活的觸發(fā)器討論較多,而對一次更新操縱多個記錄陳述較少.本文重點在于,使用SQL Server 2005中的DML觸發(fā)器[1],闡述多行數(shù)據(jù)更新的觸發(fā)器處理方法.

        本文使用的數(shù)據(jù)庫其中數(shù)據(jù)表及結(jié)構(gòu)為:

        學(xué)生表:XSB(學(xué)號,姓名,專業(yè),總學(xué)分,…)

        課程表:KCB(課程號,課程名,專業(yè),學(xué)分,…)

        成績表:CJB(學(xué)號,課程號,成績)

        其中XSB中總學(xué)分,應(yīng)為學(xué)生所選成績合格(>=60分)的課程,對應(yīng)的學(xué)分之和.

        多行數(shù)據(jù)的更新舉例:

        INSERT INTO XSB SELECT*FROM XSB1.

        DELETE FROM XSBWHERE學(xué)號<'050001'.

        UPDATE CJB SET成績=成績+10WHERE課程號='206'.

        類似這些操作都會引起數(shù)據(jù)表中一行或多行記錄的更新操作.由這些操作引發(fā)的觸發(fā)器設(shè)計要比一個記錄時的情況復(fù)雜.

        2 觸發(fā)器工作原理

        觸發(fā)器是一個被指定關(guān)聯(lián)到一個表的數(shù)據(jù)對象,觸發(fā)器是不需要調(diào)用的,當(dāng)對一個表的特別事件出現(xiàn)時(如INSERT、UPDATE、DELETE等),它就被激活[2].

        SQL Server 2005中,按照觸發(fā)事件的不同可經(jīng)將觸發(fā)器分為兩大類:DML觸發(fā)器和DDL觸發(fā)器.當(dāng)DML觸發(fā)器被執(zhí)行時,系統(tǒng)創(chuàng)建了兩個特殊的邏輯表:inserted表和deleted表:

        inserted表:當(dāng)向表中插入數(shù)據(jù)時,INSERT觸發(fā)器觸發(fā)執(zhí)行,新的記錄插入到觸發(fā)器表和inserted表中.

        deleted表:用于保存已從表中刪除的記錄,當(dāng)觸發(fā)一個DELETE觸發(fā)器時,被刪除的記錄存放到deleted表中.

        修改一條記錄等于插入一條新記錄,同時刪除舊記錄.當(dāng)對定義了UPDATE觸發(fā)器的表記錄修改時,表中原記錄移到deleted表,修改過的記錄插入到inserted表及被修改的表中.

        這兩個表總是與被觸發(fā)的表有相同的結(jié)構(gòu),存儲在系統(tǒng)內(nèi)存中,不允許用戶對其修改,但用戶可以引用表中數(shù)據(jù),當(dāng)觸發(fā)器完成工作時,二表也被系統(tǒng)刪除[3,4].

        在本文下面的方法中,都用到以上二個系統(tǒng)表.此外還會用到自定義的臨時表,用后需刪除.

        3 觸發(fā)器應(yīng)用方法

        1)XSB中插入一批不同專業(yè)新生后,應(yīng)該根據(jù)這些學(xué)生的專業(yè),在CJB中自動生成這些學(xué)生應(yīng)選課程記錄(學(xué)號,課程號),成績一列暫空.實現(xiàn)數(shù)據(jù)的自動填充.用XSB上的數(shù)據(jù)插入觸發(fā)器實現(xiàn):

        2)修改KCB數(shù)據(jù)表中某些課程的學(xué)分,必然引起XSB中總學(xué)分數(shù)據(jù)的不一致,應(yīng)該自動更新XSB中總學(xué)分,保持數(shù)據(jù)一致性.用KCB上的數(shù)據(jù)更新觸發(fā)器實現(xiàn):

        此方法特點是只針對更新學(xué)分的課程,把修改后的學(xué)分增量反映到總學(xué)分中,對學(xué)生本次操作以前的總學(xué)分并不作檢查和更新,處理問題相對靈活.

        3)當(dāng)向CJB中插入多行記錄后,應(yīng)該根據(jù)學(xué)生的成績給出對應(yīng)的XSB中總學(xué)分更新.用CJB上的數(shù)據(jù)插入觸發(fā)器實現(xiàn):

        4)當(dāng)向CJB中刪除多行記錄后,應(yīng)該根據(jù)學(xué)生的成績給出對應(yīng)的XSB中總學(xué)分更新.用CJB上的數(shù)據(jù)刪除觸發(fā)器實現(xiàn):

        5)當(dāng)修改CJB中部分學(xué)生的成績后,應(yīng)該在XSB中的總學(xué)分中得到體現(xiàn).用CJB上的數(shù)據(jù)更新觸發(fā)器實現(xiàn):

        此處需注意,及格分改為及格分,不及格分改為不及格分,并不改變學(xué)分;只有當(dāng)及格分改為不及格分或相反,才影響學(xué)分.

        4 觸發(fā)器應(yīng)用總結(jié)

        觸發(fā)器是一種特殊的存儲過程,它可以方便地基于一個表的修改,自動更新其他相關(guān)表的記錄,以保證數(shù)據(jù)的完整性.本文就多行數(shù)據(jù)更新操作的觸發(fā)器在數(shù)據(jù)庫的應(yīng)用,作了部分研究,主要方法是先將相關(guān)數(shù)據(jù)存入臨時數(shù)據(jù)表,再從臨時數(shù)據(jù)表中提取數(shù)據(jù)更新到指定數(shù)據(jù)表.?dāng)?shù)據(jù)的更新采用增量更新,對更新前的數(shù)據(jù)不作檢查,只反映本次操作所致的數(shù)據(jù)改變.希望本文提供的方法對其它數(shù)據(jù)庫的開發(fā)能有參考價值.

        [1]鄭阿奇.SQLServer實用教程[M].北京:電子工業(yè)出版社,2009.

        [2]王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論[M].北京:高等教育出版社,2006.

        [3]孫曉寧.SQL Server 2005中觸發(fā)器的應(yīng)用[J].中國科技信息,2008(1):73-74.

        [4]張峰,張莉莉.觸發(fā)器在數(shù)據(jù)處理過程中的應(yīng)用研究[J].計算機工程與科學(xué),2008(05):156-158.

        An Applied Study on the Trigger of the M ulti-line Data Update in SQL Server

        DENG Jing-shun,HUANG Jie
        (School ofMathematics and Computer Science,ShanxiDatong University,Datong Shanxi,037009)

        A trigger is a special kind of stored procedure that can be executed automatically to update records in related tables based on datamodifications in a table in order to ensure the data integrity.In this article we shall discuss the application method to the trigger of themulti-line data update in SQL Server via a development example..

        SQL Server;Multi_line Data Update;trigger

        TP392

        A

        〔編輯 高?!?/p>

        1674-0874(2010)02-0005-03

        2009-12-03

        鄧景順(1964-),男,山西大同人,副教授,研究方向:數(shù)據(jù)庫.

        猜你喜歡
        山西大同中總觸發(fā)器
        山西大同 黃花菜豐收在望
        《山西大同大學(xué)學(xué)報(自然科學(xué)版)》征稿簡則
        山西大同大學(xué)采礦研究所簡介
        山西大同邀客共賞“小黃花大產(chǎn)業(yè)”
        主從JK觸發(fā)器邏輯功能分析
        電子世界(2017年22期)2017-12-02 03:03:45
        天冬中總氨基酸及多糖的提取工藝研究
        使用觸發(fā)器,強化安全性
        正交試驗法優(yōu)化苦豆子總生物堿的超聲提取工藝
        大孔吸附樹脂分離純化蒲公英中總黃酮的工藝研究
        中草藥雀兒舌頭中總生物堿含量的測定
        在线观看网址你懂的| 国产成人无码av| 久久天堂综合亚洲伊人hd妓女| 免费人成在线观看视频播放| 免费人成视频在线观看视频| 色婷婷色99国产综合精品| 国家一级内射高清视频| 新中文字幕一区二区三区| 久久国产亚洲高清观看| 亚洲综合一区二区三区四区五区 | 国产欧美日韩网站| 日本在线一区二区三区观看| 99精品人妻少妇一区二区三区| 亚洲色图在线免费观看视频| 一本一道av无码中文字幕﹣百度| 日本少妇人妻xxxxx18| 精品无码国产一二三区麻豆| 日本免费三级一区二区| 无码毛片内射白浆视频| 性高朝久久久久久久| 国产精品一区二区三区精品| 丝袜美腿亚洲综合在线播放 | 日韩精品中文字幕无码一区| 青春草在线视频精品| 日本一二三区在线视频观看 | 亚洲福利一区二区不卡| 无码人妻精品中文字幕| 高中生粉嫩无套第一次| 日韩中文在线视频| 在线观看日本一区二区三区| 久久精品中文少妇内射| 熟妇人妻av中文字幕老熟妇| 91老司机精品视频| 东京热东京道日韩av| 久久亚洲av无码精品色午夜| 丰满岳乱妇久久久| 亚洲欧美国产成人综合不卡 | 熟女中文字幕一区二区三区 | 国产三级黄色的在线观看| 国产免费人成视频网站在线18| 成人无码网www在线观看|