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
主站蜘蛛池模板: 国产欧美亚洲精品第3页在线| 午夜福利无码一区二区| swag国产精品| 国产精品色婷婷在线观看| 呦视频在线一区二区三区| 无码啪啪精品天堂浪潮av | 欧美日本在线观看| 亚洲高清在线天堂精品| 亚洲视频免费播放| 青青操国产| 国产不卡在线看| 在线免费不卡视频| 毛片久久网站小视频| 高清免费毛片| 青草视频久久| av一区二区三区在线观看| 国产女人水多毛片18| 91成人精品视频| 国产真实乱子伦精品视手机观看| 色综合a怡红院怡红院首页| AV老司机AV天堂| 91在线免费公开视频| 久久精品国产免费观看频道| 91毛片网| 怡春院欧美一区二区三区免费| 国产香蕉国产精品偷在线观看| 玖玖精品在线| 色婷婷天天综合在线| 影音先锋丝袜制服| 99成人在线观看| 亚洲精品国产自在现线最新| 青草精品视频| 日本www色视频| 亚洲国产成人超福利久久精品| 亚洲最大综合网| 精品久久久无码专区中文字幕| 国产男人天堂| 国产成本人片免费a∨短片| 欧美精品啪啪| 美女一区二区在线观看| 亚洲天堂成人在线观看| 97久久精品人人做人人爽| 中文字幕无码中文字幕有码在线| 成年A级毛片| 亚洲另类色| 欧美v在线| 久久综合九九亚洲一区| 欧美v在线| 在线观看亚洲成人| 午夜视频在线观看免费网站| 国产精品视频系列专区| 亚洲三级网站| 久久综合国产乱子免费| 欧美国产在线看| 久久视精品| 亚洲黄色成人| 白浆免费视频国产精品视频| 91亚洲国产视频| 91福利国产成人精品导航| 精品国产自在在线在线观看| 二级特黄绝大片免费视频大片| 亚洲AV永久无码精品古装片| 久久精品aⅴ无码中文字幕| 亚洲无限乱码| 真实国产乱子伦视频| 中文字幕无码av专区久久| 自拍亚洲欧美精品| 啊嗯不日本网站| 在线观看精品自拍视频| 婷婷色婷婷| 国产成人欧美| 成人另类稀缺在线观看| 欧美性猛交一区二区三区| 欧美成人第一页| 亚洲天堂区| 久久综合色视频| 国产理论最新国产精品视频| 草逼视频国产| 国产Av无码精品色午夜| 亚洲av综合网| 一本大道东京热无码av| 婷婷六月激情综合一区|