




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、,第8章 存儲(chǔ)過程和觸發(fā)器,8.1存儲(chǔ)過程優(yōu)點(diǎn) 1模塊化程序設(shè)計(jì) 存儲(chǔ)過程可保存在數(shù)據(jù)庫(kù)中,以后可反復(fù)調(diào)用,并可以對(duì)其進(jìn)行單獨(dú)的修改和維護(hù). 2提高執(zhí)行速度,3減少網(wǎng)絡(luò)流量 存儲(chǔ)過程可只用一條語(yǔ)句來實(shí)現(xiàn). 4提高安全機(jī)制 8.2觸發(fā)器,8.1存儲(chǔ)過程,8.1.1概念 SQL Server的存儲(chǔ)過程類似于編程語(yǔ)言中的過程。 在使用Transact-SQL語(yǔ)言編程的過程中,我們可以將某些需要多次調(diào)用的實(shí)現(xiàn)某個(gè)特定任務(wù)的代碼段編寫成一個(gè)過程,將其保存在數(shù)據(jù)庫(kù)中,并由SQL Server服務(wù)器通過過程名來調(diào)用它們,這些過程就叫做存儲(chǔ)過程。,8.1存儲(chǔ)過程,8.1.2分類 系統(tǒng)存儲(chǔ)過程 在SQL Ser
2、ver2000中,很多管理活動(dòng)都是通過系統(tǒng)存儲(chǔ)過程執(zhí)行的。像我們以前講過的創(chuàng)建登錄賬號(hào),創(chuàng)建數(shù)據(jù)庫(kù)用戶賬號(hào),創(chuàng)建角色等等。 用戶自定義的存儲(chǔ)過程 是用戶自己根據(jù)需要編寫的存儲(chǔ)過程。,8.1存儲(chǔ)過程,8.1.4創(chuàng)建存儲(chǔ)過程 例如: 在銷售公司,員工的工資是和銷售額掛勾的,銷售額在0-500,開基本工資的50%,銷售額在500-1000,開基本工資,銷售額在1000-2000,開基本工資的1.5倍。 表:employee empid int empname char jbgz float sse float gz float,8.1存儲(chǔ)過程,語(yǔ)法 CREATE PROCEDURE 存儲(chǔ)過程名 AS
3、 語(yǔ)句體; GO,8.1存儲(chǔ)過程,在企業(yè)管理器中創(chuàng)建存儲(chǔ)過程,一、存儲(chǔ)過程,8.1存儲(chǔ)過程,在查詢分析器中創(chuàng)建存儲(chǔ)過程,8.1存儲(chǔ)過程,在查詢分析器中創(chuàng)建存儲(chǔ)過程,USE student GO IF EXISTS (select name from sysobjects where name=pscgz1 and type=P) DROP PROCEDURE pscgz1 GO CREATE PROCEDURE pscgz1 AS update employee set gz=jbgz*0.5 where sse=500 and sse=1000 and sse2000; GO,8.1存儲(chǔ)過程
4、,8.1.執(zhí)行存儲(chǔ)過程 要想執(zhí)行存儲(chǔ)過程,要進(jìn)入到查詢分析器中,執(zhí)行語(yǔ)句: exec 存儲(chǔ)過程名;,8.1存儲(chǔ)過程,8.1.修改存儲(chǔ)過程,一、存儲(chǔ)過程,8.1存儲(chǔ)過程,8.1.重命名存儲(chǔ)過程 8.1.刪除存儲(chǔ)過程 8.1.10參數(shù)化存儲(chǔ)過程 帶輸入?yún)?shù)的存儲(chǔ)過程 CREAT PROCEDURE pscgz stuID Integer AS Select * from stuInfo where stuID= stuID GO 執(zhí)行EXEC pscgz 001,8.1.10 2 帶輸出參數(shù)的存儲(chǔ)過程 stuID Integer stuID nvarchar(40) OUTPUT AS Selec
5、t stuName=Name from StuInfo Where stuID=stuID GO 執(zhí)行 DECLARE CName nvarchar(40) OUTPUT EXEC pscgz 001, CName OUTPUT PRINT CName GO,8.2觸發(fā)器,8.2.1定義 觸發(fā)器是一種與數(shù)據(jù)庫(kù)中表緊密關(guān)聯(lián)的特殊的存儲(chǔ)過程,當(dāng)該數(shù)據(jù)表有插入(INSERT)、更改(UPDATE)或刪除(DELETE)事件發(fā)生時(shí),所設(shè)置的觸發(fā)器就會(huì)自動(dòng)被執(zhí)行。 觸發(fā)器只要滿足一定的條件,它就可以觸發(fā)完成各種簡(jiǎn)單和復(fù)雜的任務(wù),可以幫助我們更好的維護(hù)數(shù)據(jù)庫(kù)中數(shù)據(jù)的完整性。,8.2觸發(fā)器,8.2.3類型
6、AFTER觸發(fā)器 INSTEAD OF 觸發(fā)器,8.2觸發(fā)器,8.2.4創(chuàng)建觸發(fā)器 例如: 學(xué)生選課系統(tǒng),有學(xué)生表,課程表,學(xué)生選課表 在stu表上創(chuàng)建一個(gè)觸發(fā)器,如果刪除了stu表中的一條學(xué)生的信息,則觸發(fā)此觸發(fā)器,同時(shí)刪除xk表中這個(gè)學(xué)生的選課記錄。,8.2.4, 1. 觸發(fā)器的權(quán)限默任分配給表的所有者,且不能將權(quán)限轉(zhuǎn)給其他用戶 2,只能在當(dāng)前數(shù)據(jù)庫(kù)中建 3,不能再臨時(shí)表中和系統(tǒng)表上建立觸發(fā)器 4,必須指定一個(gè)有效選項(xiàng) INSERT UPDATE DELETE,8.2觸發(fā)器,語(yǔ)法 CREATE TRIGGER 觸發(fā)器名 ON 表名 FOR INSERT, UPDATE, DELETE AS 語(yǔ)句體; GO,8.2觸發(fā)器,在企業(yè)管理器中創(chuàng)建觸發(fā)器 insert into shippers values (abc,00000); delete from shippers where companyname=abc; update shippers set companyname=www where comp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 互聯(lián)網(wǎng)商標(biāo)設(shè)計(jì)合同范本
- 個(gè)人建房外包合同范本
- 勞動(dòng)合同范本 學(xué)校
- 低租金租房合同范本
- 勞動(dòng)合同范本 合肥
- 農(nóng)村建筑標(biāo)準(zhǔn)合同范例
- 供電設(shè)施租用合同范本
- 加工牛肉出售合同范本
- 勞動(dòng)合同范本標(biāo)題
- 舉辦權(quán)合同范本
- 《中小學(xué)科學(xué)教育工作指南》解讀與培訓(xùn)
- 學(xué)校食堂“三同三公開”制度實(shí)施方案
- 跨學(xué)科主題學(xué)習(xí)的意義與設(shè)計(jì)思路
- 2025年浙江國(guó)企臺(tái)州黃巖站場(chǎng)管理服務(wù)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 2025年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 殯儀館管理制度
- 2025年醫(yī)院財(cái)務(wù)工作計(jì)劃(2篇)
- DB32T 4969-2024大型醫(yī)用設(shè)備使用監(jiān)督管理平臺(tái)基礎(chǔ)數(shù)據(jù)采集規(guī)范
- 2025年大連長(zhǎng)興開發(fā)建設(shè)限公司工作人員公開招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 部編版教科版三年級(jí)科學(xué)下冊(cè)全冊(cè)教案【統(tǒng)編教材】
- (2024)甘肅省公務(wù)員考試《行測(cè)》真題及答案解析
評(píng)論
0/150
提交評(píng)論