版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、大型數(shù)據(jù)庫(kù)大型數(shù)據(jù)庫(kù)SQL Server 2000SQL Server 2000程序設(shè)計(jì)程序設(shè)計(jì)1第7章 存儲(chǔ)過(guò)程和觸發(fā)器n存儲(chǔ)過(guò)程存儲(chǔ)過(guò)程n觸發(fā)器觸發(fā)器大型數(shù)據(jù)庫(kù)大型數(shù)據(jù)庫(kù)SQL Server 2000SQL Server 2000程序設(shè)計(jì)程序設(shè)計(jì)27.1 7.1 存儲(chǔ)過(guò)程存儲(chǔ)過(guò)程 存儲(chǔ)過(guò)程是一種數(shù)據(jù)庫(kù)對(duì)象,將執(zhí)行計(jì)劃存儲(chǔ)在數(shù)據(jù)庫(kù)的服務(wù)器中。存儲(chǔ)過(guò)程是一種數(shù)據(jù)庫(kù)對(duì)象,將執(zhí)行計(jì)劃存儲(chǔ)在數(shù)據(jù)庫(kù)的服務(wù)器中。它的運(yùn)行速度比獨(dú)立運(yùn)行同樣的程序要快。它的運(yùn)行速度比獨(dú)立運(yùn)行同樣的程序要快。存儲(chǔ)過(guò)程類型存儲(chǔ)過(guò)程類型創(chuàng)建存儲(chǔ)過(guò)程創(chuàng)建存儲(chǔ)過(guò)程執(zhí)行存儲(chǔ)過(guò)程執(zhí)行存儲(chǔ)過(guò)程修改存儲(chǔ)過(guò)程修改存儲(chǔ)過(guò)程刪除存儲(chǔ)過(guò)程刪除存儲(chǔ)過(guò)
2、程大型數(shù)據(jù)庫(kù)大型數(shù)據(jù)庫(kù)SQL Server 2000SQL Server 2000程序設(shè)計(jì)程序設(shè)計(jì)37.1.1 7.1.1 存儲(chǔ)過(guò)程類型存儲(chǔ)過(guò)程類型 系統(tǒng)存儲(chǔ)過(guò)程系統(tǒng)存儲(chǔ)過(guò)程 存儲(chǔ)在存儲(chǔ)在mastermaster數(shù)據(jù)庫(kù)中,以數(shù)據(jù)庫(kù)中,以sp_sp_為前綴??梢栽谄渌麨榍熬Y??梢栽谄渌?數(shù)據(jù)庫(kù)中對(duì)其進(jìn)行調(diào)用。數(shù)據(jù)庫(kù)中對(duì)其進(jìn)行調(diào)用。 用戶自定義存儲(chǔ)過(guò)程用戶自定義存儲(chǔ)過(guò)程 由用戶創(chuàng)建并能完成某一特定功能的存儲(chǔ)過(guò)程?;蛴捎脩魟?chuàng)建并能完成某一特定功能的存儲(chǔ)過(guò)程?;?稱本地存儲(chǔ)過(guò)程。包括臨時(shí)存儲(chǔ)過(guò)程、遠(yuǎn)程存儲(chǔ)過(guò)稱本地存儲(chǔ)過(guò)程。包括臨時(shí)存儲(chǔ)過(guò)程、遠(yuǎn)程存儲(chǔ)過(guò) 程、擴(kuò)展存儲(chǔ)過(guò)程。程、擴(kuò)展存儲(chǔ)過(guò)程。 臨時(shí)存儲(chǔ)過(guò)程
3、又包括局部的和全局的臨時(shí)存儲(chǔ)過(guò)臨時(shí)存儲(chǔ)過(guò)程又包括局部的和全局的臨時(shí)存儲(chǔ)過(guò) 程,前者在過(guò)程名的前面帶程,前者在過(guò)程名的前面帶# #,后者在過(guò)程名的前面,后者在過(guò)程名的前面 帶帶#。全局臨時(shí)存儲(chǔ)過(guò)程對(duì)所有用戶都可見(jiàn)。全局臨時(shí)存儲(chǔ)過(guò)程對(duì)所有用戶都可見(jiàn)。 擴(kuò)展存儲(chǔ)過(guò)程的前綴是擴(kuò)展存儲(chǔ)過(guò)程的前綴是xp_ xp_ 。 大型數(shù)據(jù)庫(kù)大型數(shù)據(jù)庫(kù)SQL Server 2000SQL Server 2000程序設(shè)計(jì)程序設(shè)計(jì)47.1.2 7.1.2 創(chuàng)建存儲(chǔ)過(guò)程創(chuàng)建存儲(chǔ)過(guò)程用企業(yè)管理器創(chuàng)建用企業(yè)管理器創(chuàng)建用用T-SQLT-SQL命令創(chuàng)建命令創(chuàng)建 存儲(chǔ)過(guò)程的三個(gè)組成部分:存儲(chǔ)過(guò)程的三個(gè)組成部分:(1 1)所有的輸入?yún)?shù)
4、以及傳給調(diào)用者的輸出參數(shù);)所有的輸入?yún)?shù)以及傳給調(diào)用者的輸出參數(shù);(2 2)被執(zhí)行的針對(duì)數(shù)據(jù)庫(kù)的操作語(yǔ)句,包括調(diào)用其他)被執(zhí)行的針對(duì)數(shù)據(jù)庫(kù)的操作語(yǔ)句,包括調(diào)用其他 存儲(chǔ)過(guò)程的語(yǔ)句;存儲(chǔ)過(guò)程的語(yǔ)句;(3 3)返回給調(diào)用者的狀態(tài)值,以指明調(diào)用是成功還是)返回給調(diào)用者的狀態(tài)值,以指明調(diào)用是成功還是 失敗。失敗。大型數(shù)據(jù)庫(kù)大型數(shù)據(jù)庫(kù)SQL Server 2000SQL Server 2000程序設(shè)計(jì)程序設(shè)計(jì)57.1.2 7.1.2 創(chuàng)建存儲(chǔ)過(guò)程創(chuàng)建存儲(chǔ)過(guò)程T-SQLT-SQL創(chuàng)建存儲(chǔ)過(guò)程的基本語(yǔ)法格式:創(chuàng)建存儲(chǔ)過(guò)程的基本語(yǔ)法格式:CREATE PROCEDURE CREATE PROCEDURE 存
5、儲(chǔ)過(guò)程名稱存儲(chǔ)過(guò)程名稱 參數(shù)定義參數(shù)定義AS AS SQLSQL語(yǔ)句語(yǔ)句例例7.17.1:創(chuàng)建存儲(chǔ)過(guò)程,實(shí)現(xiàn)查詢所有學(xué)生信息的功能:創(chuàng)建存儲(chǔ)過(guò)程,實(shí)現(xiàn)查詢所有學(xué)生信息的功能。Create proc proc_7_1Create proc proc_7_1AsAsSelect Select * * From xsqk From xsqk思考:創(chuàng)建存儲(chǔ)過(guò)程,實(shí)現(xiàn)查詢所有學(xué)生的學(xué)號(hào)、姓名、所選課程號(hào)、課思考:創(chuàng)建存儲(chǔ)過(guò)程,實(shí)現(xiàn)查詢所有學(xué)生的學(xué)號(hào)、姓名、所選課程號(hào)、課程名、成績(jī)及學(xué)分信息的功能。程名、成績(jī)及學(xué)分信息的功能。大型數(shù)據(jù)庫(kù)大型數(shù)據(jù)庫(kù)SQL Server 2000SQL Server 2000
6、程序設(shè)計(jì)程序設(shè)計(jì)67.1.2 7.1.2 創(chuàng)建存儲(chǔ)過(guò)程創(chuàng)建存儲(chǔ)過(guò)程例例7.27.2:創(chuàng)建存儲(chǔ)過(guò)程:創(chuàng)建存儲(chǔ)過(guò)程proc_7_2proc_7_2,要求實(shí)現(xiàn)根據(jù)學(xué)生學(xué)號(hào),產(chǎn)生不同結(jié)果,要求實(shí)現(xiàn)根據(jù)學(xué)生學(xué)號(hào),產(chǎn)生不同結(jié)果,如果該學(xué)生信息不存在,則顯示如果該學(xué)生信息不存在,則顯示“無(wú)此學(xué)號(hào)的學(xué)生!無(wú)此學(xué)號(hào)的學(xué)生!”,否則返回該學(xué)生的,否則返回該學(xué)生的基本信息基本信息。Create proc proc_7_2 sno char(8)Create proc proc_7_2 sno char(8)AsAsIf exists(Select If exists(Select * * From xsqk whe
7、re From xsqk where 學(xué)號(hào)學(xué)號(hào)= = sno)sno) select select * * From xsqk where From xsqk where 學(xué)號(hào)學(xué)號(hào)= = snosnoElse Else print print 無(wú)此學(xué)號(hào)的學(xué)生!無(wú)此學(xué)號(hào)的學(xué)生!思考:創(chuàng)建存儲(chǔ)過(guò)程思考:創(chuàng)建存儲(chǔ)過(guò)程testproc2testproc2,實(shí)現(xiàn)根據(jù)學(xué)生的學(xué)號(hào),查詢此學(xué)生的學(xué)號(hào)、實(shí)現(xiàn)根據(jù)學(xué)生的學(xué)號(hào),查詢此學(xué)生的學(xué)號(hào)、姓名、所選課程號(hào)、課程名、成績(jī)及學(xué)分等信息。姓名、所選課程號(hào)、課程名、成績(jī)及學(xué)分等信息。大型數(shù)據(jù)庫(kù)大型數(shù)據(jù)庫(kù)SQL Server 2000SQL Server 2000程序設(shè)
8、計(jì)程序設(shè)計(jì)77.1.2 7.1.2 創(chuàng)建存儲(chǔ)過(guò)程創(chuàng)建存儲(chǔ)過(guò)程說(shuō)明:說(shuō)明:(1 1)在一個(gè)批處理中,)在一個(gè)批處理中,Create procedureCreate procedure語(yǔ)句不能與其語(yǔ)句不能與其 他他SQLSQL語(yǔ)句合并在一起。語(yǔ)句合并在一起。(2 2)數(shù)據(jù)庫(kù)所有者具有默認(rèn)的創(chuàng)建存儲(chǔ)過(guò)程的權(quán)限。)數(shù)據(jù)庫(kù)所有者具有默認(rèn)的創(chuàng)建存儲(chǔ)過(guò)程的權(quán)限。(3 3)存儲(chǔ)過(guò)程作為數(shù)據(jù)庫(kù)對(duì)象其命名必須符合命名規(guī))存儲(chǔ)過(guò)程作為數(shù)據(jù)庫(kù)對(duì)象其命名必須符合命名規(guī) 則。則。(4 4)只能在當(dāng)前數(shù)據(jù)庫(kù)中創(chuàng)建屬于當(dāng)前數(shù)據(jù)庫(kù)的存儲(chǔ)過(guò))只能在當(dāng)前數(shù)據(jù)庫(kù)中創(chuàng)建屬于當(dāng)前數(shù)據(jù)庫(kù)的存儲(chǔ)過(guò) 程。程。(5 5)一個(gè)存儲(chǔ)過(guò)程的最大尺寸為
9、)一個(gè)存儲(chǔ)過(guò)程的最大尺寸為128128M M。大型數(shù)據(jù)庫(kù)大型數(shù)據(jù)庫(kù)SQL Server 2000SQL Server 2000程序設(shè)計(jì)程序設(shè)計(jì)87.1.3 7.1.3 執(zhí)行存儲(chǔ)過(guò)程執(zhí)行存儲(chǔ)過(guò)程語(yǔ)句格式:語(yǔ)句格式: EXECUTE EXECUTE 存儲(chǔ)過(guò)程名稱存儲(chǔ)過(guò)程名稱 參數(shù)值參數(shù)值例例7.37.3:執(zhí)行例:執(zhí)行例7.17.1的存儲(chǔ)過(guò)程。的存儲(chǔ)過(guò)程。 exec proc_7_1 exec proc_7_1例例7.47.4:執(zhí)行例:執(zhí)行例7.27.2的存儲(chǔ)過(guò)程,查詢學(xué)號(hào)為的存儲(chǔ)過(guò)程,查詢學(xué)號(hào)為“”“”學(xué)生的基本信息。學(xué)生的基本信息。 exec proc_7_2 exec proc_7_2 或或
10、exec proc_7_2 sno= exec proc_7_2 sno= 大型數(shù)據(jù)庫(kù)大型數(shù)據(jù)庫(kù)SQL Server 2000SQL Server 2000程序設(shè)計(jì)程序設(shè)計(jì)97.1.3 7.1.3 舉例舉例例例7.57.5:在學(xué)生成績(jī)庫(kù)中創(chuàng)建存儲(chǔ)過(guò)程:在學(xué)生成績(jī)庫(kù)中創(chuàng)建存儲(chǔ)過(guò)程proc_7_t1proc_7_t1,要求實(shí)現(xiàn)如下功能:產(chǎn)生要求實(shí)現(xiàn)如下功能:產(chǎn)生計(jì)算機(jī)計(jì)算機(jī)02030203班學(xué)生的選課情況列表,其中包括學(xué)號(hào)、姓名、性別、課程號(hào)、班學(xué)生的選課情況列表,其中包括學(xué)號(hào)、姓名、性別、課程號(hào)、課程名稱、學(xué)分等。并調(diào)用此存儲(chǔ)過(guò)程,顯示執(zhí)行結(jié)果。課程名稱、學(xué)分等。并調(diào)用此存儲(chǔ)過(guò)程,顯示執(zhí)行結(jié)果。
11、create proc proc_7_t1asSelect xsqk.學(xué)號(hào)學(xué)號(hào), 姓名姓名, 性別性別, xskc.課程號(hào)課程號(hào), 課程名課程名, xskc.學(xué)分學(xué)分 From xsqk, xscj, xskc Where xsqk.學(xué)號(hào)學(xué)號(hào) = xscj.學(xué)號(hào)學(xué)號(hào) and xscj.課程號(hào)課程號(hào) = xskc.課程號(hào)課程號(hào) and 班級(jí)班級(jí) = 計(jì)算機(jī)計(jì)算機(jī)0203大型數(shù)據(jù)庫(kù)大型數(shù)據(jù)庫(kù)SQL Server 2000SQL Server 2000程序設(shè)計(jì)程序設(shè)計(jì)10例例7.67.6:在學(xué)生成績(jī)庫(kù)中創(chuàng)建存儲(chǔ)過(guò)程:在學(xué)生成績(jī)庫(kù)中創(chuàng)建存儲(chǔ)過(guò)程proc_7_t2proc_7_t2,要求實(shí)現(xiàn)如下功能:根
12、要求實(shí)現(xiàn)如下功能:根據(jù)學(xué)生學(xué)號(hào),如果此學(xué)生存在,則產(chǎn)生該生的課程成績(jī)列表,其中包括學(xué)據(jù)學(xué)生學(xué)號(hào),如果此學(xué)生存在,則產(chǎn)生該生的課程成績(jī)列表,其中包括學(xué)號(hào)、課程號(hào)、課程名稱、成績(jī)、學(xué)分等;如果此學(xué)生不存在,則顯示號(hào)、課程號(hào)、課程名稱、成績(jī)、學(xué)分等;如果此學(xué)生不存在,則顯示“無(wú)無(wú)此學(xué)生!此學(xué)生!”。并調(diào)用此存儲(chǔ)過(guò)程,顯示。并調(diào)用此存儲(chǔ)過(guò)程,顯示“”“”學(xué)生的課程成績(jī)情況。學(xué)生的課程成績(jī)情況。 create proc proc_7_t2 sno char(8)create proc proc_7_t2 sno char(8) as as if exists(select if exists(selec
13、t * * from xsqk where from xsqk where 學(xué)號(hào)學(xué)號(hào)=sno) sno) Select Select 學(xué)號(hào)學(xué)號(hào), ,xscj.xscj.課程號(hào)課程號(hào), ,課程名課程名, ,成績(jī)成績(jī), ,xskc.xskc.學(xué)分學(xué)分 From xscj, xskc From xscj, xskc Where xscj. Where xscj.課程號(hào)課程號(hào)= =xskc.xskc.課程號(hào)課程號(hào) and and 學(xué)號(hào)學(xué)號(hào)= = snosno else else print print 無(wú)此學(xué)生!無(wú)此學(xué)生!大型數(shù)據(jù)庫(kù)大型數(shù)據(jù)庫(kù)SQL Server 2000SQL Server 2000
14、程序設(shè)計(jì)程序設(shè)計(jì)117.1.4 7.1.4 修改存儲(chǔ)過(guò)程修改存儲(chǔ)過(guò)程語(yǔ)法格式:語(yǔ)法格式:ALTER PROCEDURE ALTER PROCEDURE 存儲(chǔ)過(guò)程名稱存儲(chǔ)過(guò)程名稱 參數(shù)定義參數(shù)定義AS AS SQLSQL語(yǔ)句語(yǔ)句例例7.77.7:修改在例:修改在例7.57.5中已創(chuàng)建的存儲(chǔ)過(guò)程中已創(chuàng)建的存儲(chǔ)過(guò)程proc_7_t1proc_7_t1,要求在顯示列中加要求在顯示列中加入成績(jī)列。入成績(jī)列。alter proc proc_7_t1alter proc proc_7_t1asas Select xsqk. Select xsqk.學(xué)號(hào)學(xué)號(hào), ,姓名姓名, ,性別性別, ,xskc.xskc
15、.課程號(hào)課程號(hào), , 課程名課程名, , xskc.xskc.學(xué)分學(xué)分, , 成績(jī)成績(jī) From xsqk, xscj, xskc From xsqk, xscj, xskc Where xsqk. Where xsqk.學(xué)號(hào)學(xué)號(hào) = = xscj.xscj.學(xué)號(hào)學(xué)號(hào) and xscj. and xscj.課程號(hào)課程號(hào) = = xskc.xskc.課程號(hào)課程號(hào) and and 班級(jí)班級(jí) = = 計(jì)算機(jī)計(jì)算機(jī)02030203大型數(shù)據(jù)庫(kù)大型數(shù)據(jù)庫(kù)SQL Server 2000SQL Server 2000程序設(shè)計(jì)程序設(shè)計(jì)127.1.5 7.1.5 刪除存儲(chǔ)過(guò)程刪除存儲(chǔ)過(guò)程語(yǔ)法格式:語(yǔ)法格式:DRO
16、P PROCEDURE 存儲(chǔ)過(guò)程名稱存儲(chǔ)過(guò)程名稱例例7.8:刪除存儲(chǔ)過(guò)程:刪除存儲(chǔ)過(guò)程proc_7_1。 drop proc proc_7_1 一般地,在用一般地,在用T-SQLT-SQL命令創(chuàng)建存儲(chǔ)過(guò)程時(shí),總是先確定要?jiǎng)?chuàng)建的存儲(chǔ)過(guò)程命令創(chuàng)建存儲(chǔ)過(guò)程時(shí),總是先確定要?jiǎng)?chuàng)建的存儲(chǔ)過(guò)程是否已經(jīng)存在,如果存在,那么就刪除重建。我們可以用如下語(yǔ)句實(shí)現(xiàn):是否已經(jīng)存在,如果存在,那么就刪除重建。我們可以用如下語(yǔ)句實(shí)現(xiàn): If exists( select name from sysobjects where name = proc_7_1 and type = P) drop proc proc_7_1大型
17、數(shù)據(jù)庫(kù)大型數(shù)據(jù)庫(kù)SQL Server 2000SQL Server 2000程序設(shè)計(jì)程序設(shè)計(jì)137.2 7.2 觸發(fā)器觸發(fā)器 觸發(fā)器是一種特殊類型的存儲(chǔ)過(guò)程,當(dāng)表中數(shù)據(jù)被修改時(shí),觸發(fā)器是一種特殊類型的存儲(chǔ)過(guò)程,當(dāng)表中數(shù)據(jù)被修改時(shí),SQL ServerSQL Server自動(dòng)執(zhí)行觸發(fā)器中定義的自動(dòng)執(zhí)行觸發(fā)器中定義的T-SQLT-SQL語(yǔ)句。使用觸發(fā)器可語(yǔ)句。使用觸發(fā)器可以實(shí)施更為復(fù)雜的數(shù)據(jù)完整性約束。以實(shí)施更為復(fù)雜的數(shù)據(jù)完整性約束。觸發(fā)器概述觸發(fā)器概述創(chuàng)建觸發(fā)器創(chuàng)建觸發(fā)器修改觸發(fā)器修改觸發(fā)器刪除觸發(fā)器刪除觸發(fā)器大型數(shù)據(jù)庫(kù)大型數(shù)據(jù)庫(kù)SQL Server 2000SQL Server 2000程序設(shè)
18、計(jì)程序設(shè)計(jì)147.2.1 7.2.1 觸發(fā)器概述觸發(fā)器概述 觸發(fā)器的概念及作用觸發(fā)器的概念及作用 觸發(fā)器是一種特殊類型的存儲(chǔ)過(guò)程,主要觸發(fā)器是一種特殊類型的存儲(chǔ)過(guò)程,主要通過(guò)事件進(jìn)行觸發(fā)執(zhí)行的通過(guò)事件進(jìn)行觸發(fā)執(zhí)行的, ,是維護(hù)數(shù)據(jù)庫(kù)完整是維護(hù)數(shù)據(jù)庫(kù)完整性最強(qiáng)大的工具,能在任何情況下維護(hù)數(shù)據(jù)庫(kù)性最強(qiáng)大的工具,能在任何情況下維護(hù)數(shù)據(jù)庫(kù)的完整性。的完整性。大型數(shù)據(jù)庫(kù)大型數(shù)據(jù)庫(kù)SQL Server 2000SQL Server 2000程序設(shè)計(jì)程序設(shè)計(jì)157.2.1 7.2.1 觸發(fā)器概述觸發(fā)器概述觸發(fā)器可以完成的任務(wù)觸發(fā)器可以完成的任務(wù)l數(shù)據(jù)庫(kù)中相關(guān)表的級(jí)聯(lián)操作數(shù)據(jù)庫(kù)中相關(guān)表的級(jí)聯(lián)操作l不接受或回滾
19、違反參照完整性的數(shù)據(jù)修改事務(wù)不接受或回滾違反參照完整性的數(shù)據(jù)修改事務(wù)l強(qiáng)制執(zhí)行遠(yuǎn)復(fù)雜于強(qiáng)制執(zhí)行遠(yuǎn)復(fù)雜于CHECKCHECK約束的限制約束約束的限制約束l通過(guò)通過(guò)INSERT,UPDATEINSERT,UPDATE和和DELETEDELETE語(yǔ)句比較數(shù)據(jù)修改前后的狀態(tài)語(yǔ)句比較數(shù)據(jù)修改前后的狀態(tài), ,并根并根據(jù)修改據(jù)修改, ,執(zhí)行一定的操作執(zhí)行一定的操作. .大型數(shù)據(jù)庫(kù)大型數(shù)據(jù)庫(kù)SQL Server 2000SQL Server 2000程序設(shè)計(jì)程序設(shè)計(jì)167.2.1 7.2.1 觸發(fā)器概述觸發(fā)器概述 觸發(fā)器的種類觸發(fā)器的種類 AFTERAFTER觸發(fā)器觸發(fā)器 只有對(duì)表執(zhí)行某一操作之后,才能被觸發(fā)
20、。可以為只有對(duì)表執(zhí)行某一操作之后,才能被觸發(fā)??梢詾?表的同一操作定義多個(gè)觸發(fā)器,其觸發(fā)次序可使用表的同一操作定義多個(gè)觸發(fā)器,其觸發(fā)次序可使用 sp_settriggerorder sp_settriggerorder來(lái)完成。來(lái)完成。 INSTEAD OFINSTEAD OF觸發(fā)器觸發(fā)器 并不執(zhí)行其所定義的操作而僅是執(zhí)行觸發(fā)器本身,并不執(zhí)行其所定義的操作而僅是執(zhí)行觸發(fā)器本身, 對(duì)同一操作只能定義一個(gè)對(duì)同一操作只能定義一個(gè)instead of instead of 觸發(fā)器。觸發(fā)器。大型數(shù)據(jù)庫(kù)大型數(shù)據(jù)庫(kù)SQL Server 2000SQL Server 2000程序設(shè)計(jì)程序設(shè)計(jì)177.2.1 7.
21、2.1 觸發(fā)器概述觸發(fā)器概述 INSERTEDINSERTED和和DELETEDDELETED臨時(shí)表臨時(shí)表 觸發(fā)器代碼最強(qiáng)大的功能之一是能夠比較記錄的新舊觸發(fā)器代碼最強(qiáng)大的功能之一是能夠比較記錄的新舊 版本,用戶可以根據(jù)記錄的改變適時(shí)地做出決定。版本,用戶可以根據(jù)記錄的改變適時(shí)地做出決定。 插入一行時(shí),插入一行時(shí),INSERTEDINSERTED表保存了一份插入行的拷貝。表保存了一份插入行的拷貝。 刪除一行時(shí),刪除一行時(shí),DELETEDDELETED表保存了刪除行的拷貝。表保存了刪除行的拷貝。 更新一行時(shí),更新一行時(shí),INSERTEDINSERTED表中保存了一份新行的拷貝,表中保存了一份新行
22、的拷貝, DELETED DELETED表中保存了一份舊行的拷貝。表中保存了一份舊行的拷貝。 可以使用這兩個(gè)臨時(shí)的駐留內(nèi)存的表測(cè)試某些數(shù)據(jù)修可以使用這兩個(gè)臨時(shí)的駐留內(nèi)存的表測(cè)試某些數(shù)據(jù)修 改的效果及設(shè)置觸發(fā)器操作的條件,但不能直接對(duì)這改的效果及設(shè)置觸發(fā)器操作的條件,但不能直接對(duì)這 兩個(gè)臨時(shí)表中的數(shù)據(jù)進(jìn)行更改。兩個(gè)臨時(shí)表中的數(shù)據(jù)進(jìn)行更改。大型數(shù)據(jù)庫(kù)大型數(shù)據(jù)庫(kù)SQL Server 2000SQL Server 2000程序設(shè)計(jì)程序設(shè)計(jì)18利用 CREATE TRIGGER 命令創(chuàng)建觸發(fā)器CREATE TRIGGER trigger_name ON ( table | view ) WITH ENC
23、RYPTION FOR | AFTER | INSTEAD OF DELETE , INSERT , UPDATE WITH APPEND NOT FOR REPLICATION ASSql_statementn | FOR | AFTER | INSTEAD OF DELETE , INSERT , UPDATE WITH APPEND NOT FOR REPLICATION AS IF UPDATE (column) AND | OR UPDATE (column) .n | IF ( C O LUMN S_UPDA T E D () bitwise_operator updated_bi
24、tmask) comparison_operator column_bitmask .n sql_statement .n 大型數(shù)據(jù)庫(kù)大型數(shù)據(jù)庫(kù)SQL Server 2000SQL Server 2000程序設(shè)計(jì)程序設(shè)計(jì)197.2.2 7.2.2 創(chuàng)建觸發(fā)器創(chuàng)建觸發(fā)器用企業(yè)管理器創(chuàng)建用企業(yè)管理器創(chuàng)建用用T-SQLT-SQL命令創(chuàng)建命令創(chuàng)建語(yǔ)法格式:語(yǔ)法格式:CREATE TRIGGER CREATE TRIGGER 觸發(fā)器名稱觸發(fā)器名稱ON ON 表或視圖表或視圖 FOR | AFTER | INSTEAD OF FOR | AFTER | INSTEAD OF DELETEDELETE,INSERTINSERT,UPDATEUPDATEAS AS SQLSQL語(yǔ)句語(yǔ)句 大型數(shù)據(jù)庫(kù)大型數(shù)據(jù)庫(kù)SQL Server 2000SQL Server 2000程序設(shè)計(jì)程序設(shè)計(jì)207.2.2 7.2.2 創(chuàng)建觸發(fā)器創(chuàng)建觸發(fā)器v CTEATE TRIGGER CTEATE TRIGGER 語(yǔ)句必須是批處理的第一個(gè)語(yǔ)句
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度文化娛樂(lè)活動(dòng)廣告合作與版權(quán)保護(hù)合同4篇
- 二零二五年度建筑工地節(jié)能門窗安裝施工合同4篇
- 2025年度旅行社與文化機(jī)構(gòu)合作的文化旅游產(chǎn)品開(kāi)發(fā)合同4篇
- 2025年度美發(fā)店員工職業(yè)發(fā)展合同范本4篇
- 二零二五年度溫馨家居租住服務(wù)協(xié)議2篇
- 個(gè)人股份代持協(xié)議(2024年修訂版)
- 二零二五年度養(yǎng)老社區(qū)物業(yè)委托管理及照護(hù)服務(wù)協(xié)議4篇
- 2025年度廠房出租安全協(xié)議書(安全生產(chǎn)風(fēng)險(xiǎn)評(píng)估升級(jí)版)4篇
- 2025年度二手房交易房產(chǎn)質(zhì)量問(wèn)題處理及合同補(bǔ)充協(xié)議4篇
- 二零二五年度綠色出行示范園區(qū)車位代理銷售管理協(xié)議4篇
- 帶狀皰疹護(hù)理查房課件整理
- 年月江西省南昌市某綜合樓工程造價(jià)指標(biāo)及
- 奧氏體型不銹鋼-敏化處理
- 作物栽培學(xué)課件棉花
- 交通信號(hào)控制系統(tǒng)檢驗(yàn)批質(zhì)量驗(yàn)收記錄表
- 弱電施工驗(yàn)收表模板
- 絕對(duì)成交課件
- 探究基坑PC工法組合鋼管樁關(guān)鍵施工技術(shù)
- 國(guó)名、語(yǔ)言、人民、首都英文-及各地區(qū)國(guó)家英文名
- API SPEC 5DP-2020鉆桿規(guī)范
- 組合式塔吊基礎(chǔ)施工專項(xiàng)方案(117頁(yè))
評(píng)論
0/150
提交評(píng)論