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

觸發器在高校工資管理系統中的應用

2012-06-25 02:11:24朱小娟
合作經濟與科技 2012年3期
關鍵詞:數據庫用戶

□文/朱小娟

(1.安徽國防科技職業學院 安徽·六安;2.電子科技大學數學科學學院 四川·成都)

一、引言

隨著數據庫技術在各個領域的廣泛應用,保證數據庫完整性和安全性的工作也越來越重要。在SQL Server2005中可以通過約束和觸發器保證數據的完整性、一致性和有效性。約束直接設置于數據表中,可以實現一些簡單的數據完整性操作,而對于一些復雜的完整性操作使用觸發器是最佳的選擇,如自定義錯誤、數據的跟蹤等。

二、觸發器概述

觸發器是一種特殊的存儲過程,其特殊性在于它的執行不需要用戶手動調用,而是當在觸發表或觸發視圖上運行某些事件時自動被激活執行。在SQL Server2005中,根據觸發事件不同分為DML觸發器和DDL觸發器兩類。

1、DML觸發器。DML觸發器是在數據庫中發生數據操作語言(DML)事件時被自動執行。根據觸發器語句執行的時機,DML觸發器分為AFTER觸發器和INSTEAD OF觸發器。AFTER觸發器先執行 INSERT、UPDATE或DELETE操作,之后執行觸發器語句;INSTEAD OF觸發器在 INSERT、UPDATE或DELETE語句運行時使用觸發器語句代替。

2、DDL觸發器。DDL觸發器是SQL Server2005的新增功能,當服務器或數據庫中發生數據定義語言(DDL)事件時將自動執行該觸發器,一般用于執行數據庫中的管理任務。

當DML觸發器執行時,會產生兩個存儲在服務器內存中的特殊表:inserted表和deleted表。執行INSERT事件時產生inserted表,用來保存插入記錄的副本;執行DELETE事件時產生deleted表,用來保存刪除記錄的副本;執行UPDATE事件時兩個表都產生,deleted表保存更新前記錄的副本,inserted表保存更新后記錄的副本。這兩張表都是臨時表,只有當觸發器運行時存在,運行完自動刪除。用戶可以使用這兩張表獲取插入和刪除的記錄信息,但不能對其進行修改。

三、觸發器的應用

下面以“高校工資管理系統”為例介紹觸發器在保證數據的完整性、自定義錯誤信息、數據跟蹤方面的應用。“高校工資管理系統”中主要包含TblTeacher表和TblSalary表,表結構(在此只列出了表的主要字段)如表1、表2所示。(表 1、表 2)

表1 Tbl Teacher表結構

表2 Tbl sal ary表結構

1、保證數據完整性和一致性

任務:在高校中,教師的崗位工資由職稱決定。當教師的職稱修改時,該教師的崗位工資應該修改為其職稱對應的崗位工資,以保證數據的一致性。

分析:此任務涉及到兩個表中的字段,使用約束無法實現。我們可以在TblTeacher表中建立一個更新觸發器,當Title(職稱)列被更新時,對應職工的BasicSalary(崗位工資)值被一起更新。其中,初級對應的BasicSalary為1000,中級 1200,高級 1400,其他 800。

我們可以在TblTeacher表上創建以下觸發器:

2、自定義錯誤信息

任務:教師的崗位工資字段值要求只能是1000、1200、1400、800。我們可以為 BasicSalary字段添加CHECK約束來強制用戶只能輸入1000、1200、1400、800。這樣,當我們輸入的值超出這個范圍時,系統就會給出如下提示:

消息547,級別16,狀態0,第1行

UPDATE語句與CHECK約束"ck_bs"沖突發生于數據庫"TEST",表"dbo.Tblsalary",column'BasicSalary'。

語句已終止。

該提示是系統給出,用戶較難理解。現希望能在發生錯誤時,給出一個用戶自定義、交互性好的提示。

分析:我們可以在TblSalary表上創建一個觸發器,當表上執行插入和更新語句時檢查輸入值是否正確,不正確給出自定義的提示。

在TblSalary表上創建以下觸發器:

END創建完觸發器,再輸入正確數據時,就會顯示如下提示:

消息 5000,級別 16,狀態 10,Tri_Upd_Basic-Salary,第 10 行

你輸入的值只能是 1000、1200、1400、800,請重輸!

3、數據跟蹤

任務:Tblsalary表中數據是很重要的,為了幫助管理員掌握BasicSalary表數據的修改情況,我們希望記錄下Tblsalary表中數據的修改情況。現要求當Tblsalary表中數據被被修改時,將修改的用戶、修改的時間等信息記錄下來保存在TblLogInfo表中。(表3)

表3 Tbl LogInfo表結構圖

下面我們以Tblsalary表中OverSalary列修改情況記錄為例介紹觸發器的創建:

四、總結

本文以“高校工資管理系統”為例,介紹了觸發器在完整性設置、自定義錯誤、數據跟蹤方面的應用,其實觸發器的應用還有很多,如數據的級聯刪除和級聯更新等。觸發器可以實現一些復雜的完整性約束,但在數據庫設計的過程中過多的使用觸發器會導致數據庫系統維護困難,因此在數據庫系統的開發過程中應結合約束、規則、存儲過程合理地使用觸發器。

[1]黃存東.數據庫原理及應用.中國水利水電出版社,2011.

[2]鄧友林.SQ L Server 2005中用觸發器實現數據庫的數據完整性研究.湖南工業職業技術學院學報,2011.11.4.

[3]徐友武.SQ L Server 2005觸發器應用研究.計算機與信息.

猜你喜歡
數據庫用戶
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數據庫
財經(2016年15期)2016-06-03 07:38:02
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: 久久人与动人物A级毛片| 色婷婷狠狠干| 99热这里只有免费国产精品| 日韩欧美亚洲国产成人综合| 色视频国产| 国产美女在线观看| 日韩视频福利| 制服丝袜一区| 九九热精品在线视频| 丁香五月亚洲综合在线| 欧美日本二区| 国产精品视频a| 青青草国产一区二区三区| 激情视频综合网| 亚洲a级在线观看| 国产精品刺激对白在线| 幺女国产一级毛片| 国产精品免费入口视频| 亚洲成综合人影院在院播放| 久久久久亚洲Av片无码观看| 日本精品影院| 成人国产精品视频频| 天天躁日日躁狠狠躁中文字幕| 波多野结衣亚洲一区| 国产丝袜第一页| 激情無極限的亚洲一区免费| 在线亚洲小视频| 欧美区一区| 亚洲国产看片基地久久1024| 人人爽人人爽人人片| 欧美日韩精品综合在线一区| 国产在线观看精品| 亚洲码在线中文在线观看| 日韩AV无码免费一二三区| 97精品伊人久久大香线蕉| 亚洲欧美一区二区三区蜜芽| 亚洲午夜国产片在线观看| 中文字幕1区2区| 伊人久久久久久久| 国产成人喷潮在线观看| 久久综合九色综合97网| 国产一二视频| 亚洲成人网在线播放| 日韩专区欧美| 成人国产免费| 日韩a在线观看免费观看| 亚洲无码高清免费视频亚洲| 国内丰满少妇猛烈精品播| 特级aaaaaaaaa毛片免费视频| 欧美色综合网站| 青草娱乐极品免费视频| 国产福利免费在线观看| 激情无码字幕综合| 亚洲精品成人7777在线观看| 亚洲性一区| 99无码中文字幕视频| 国产一区二区三区日韩精品| 免费女人18毛片a级毛片视频| 国产精品区视频中文字幕| 中文字幕欧美日韩| 精品亚洲麻豆1区2区3区| 国产激爽大片在线播放| 嫩草在线视频| 一级毛片视频免费| 国产人人射| 欧美成人二区| 无码精油按摩潮喷在线播放 | 免费Aⅴ片在线观看蜜芽Tⅴ | 免费一级毛片不卡在线播放| 国产精品短篇二区| 国产免费久久精品99re丫丫一| 久久天天躁狠狠躁夜夜躁| 亚洲免费人成影院| 国产乱人伦AV在线A| 成年人福利视频| 亚洲成人一区在线| 一级毛片在线播放免费| 秋霞午夜国产精品成人片| 国产一区二区三区免费观看 | 国产精品永久久久久| 国产无码精品在线播放| 欧美va亚洲va香蕉在线|