版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt整理ppt 客戶/服務器數(shù)據(jù)庫與傳統(tǒng)的數(shù)據(jù)庫結(jié)構的一個很重要的區(qū)別是,在傳統(tǒng)的數(shù)據(jù)庫中只存放數(shù)據(jù),所有的應用程序都在用戶
2、端,都與用戶實際運行的應用程序捆綁在一起;而在客戶/服務器結(jié)構的數(shù)據(jù)庫中,在數(shù)據(jù)庫中還可以存放程序,即存儲過程。整理ppt 存儲過程是事先編好的、存儲在數(shù)據(jù)庫中的程序,這些程序用來完成對數(shù)據(jù)庫的指定操作。整理ppt系統(tǒng)存儲過程 SQL Server本身提供了一些存儲過程,用于管理SQL Server和顯示有關數(shù)據(jù)庫和用戶的信息,我們稱之為系統(tǒng)存儲過程。用戶存儲過程 用戶也可以編寫自己的存儲過程,并把它存放在數(shù)據(jù)庫中。這樣安排的主要目的就是要充分發(fā)揮數(shù)據(jù)庫服務器的功能,盡量減少網(wǎng)絡上的堵塞。整理ppt客戶端應用(不使用存儲過程)客戶端應用(使用存儲過程).Start transaction.IN
3、SERT dataUPDATE dataDELETE dataEnd transaction.Start transaction.Call Stored procedureEnd transaction.DBMSServerDBMSServerProcedure:INSERT dataUPDATE dataDELETE data(a)(b) 不使用存儲不使用存儲過程時,所有過程時,所有的數(shù)據(jù)處理都的數(shù)據(jù)處理都在客戶端完成;在客戶端完成;而使用存儲過而使用存儲過程時,可以使程時,可以使數(shù)據(jù)處理在服數(shù)據(jù)處理在服務器端完成。務器端完成。整理pptCREATE PROCedure procedure_
4、name ; number parameter data_type = default , AS sql_statement s s procedure_name:給出存儲過程名;:給出存儲過程名;s s number:對同名的存儲過程指定一個序號;:對同名的存儲過程指定一個序號;s s parameter:給出參數(shù)名;:給出參數(shù)名;s s data_type:指出參數(shù)的數(shù)據(jù)類型;:指出參數(shù)的數(shù)據(jù)類型;s s = default:給出參數(shù)的默認值;:給出參數(shù)的默認值;s s sql_statement:存儲過程所要執(zhí)行的:存儲過程所要執(zhí)行的SQL語句,它可以是一語句,它可以是一組組SQL語句,
5、可以包含流程控制語句等。語句,可以包含流程控制語句等。整理pptCREATE PROCedure sp_getemp;1AS SELECT * FROM 職工職工整理pptCREATE PROCedure sp_getemp;2(salary int)AS SELECT * FROM 職工職工 WHERE 工資工資 salary整理ppt 存儲過程一般用來完成數(shù)據(jù)查詢和數(shù)據(jù)處理操作,存儲過程一般用來完成數(shù)據(jù)查詢和數(shù)據(jù)處理操作,所以在存儲過程中不可以使用創(chuàng)建數(shù)據(jù)庫對象的語句,所以在存儲過程中不可以使用創(chuàng)建數(shù)據(jù)庫對象的語句,即在存儲過程中一般不能含有以下語句:即在存儲過程中一般不能含有以下語句:C
6、REATE TABLECREATE VIEWCREATE DEFAULTCREATE RULECREATE TRIGGERCREATE PROCEDURE整理pptEXECute=|整理pptexecute sp_getemp;2 1240 整理ppt 無論什么時候執(zhí)行存儲過程,總要返回無論什么時候執(zhí)行存儲過程,總要返回一個結(jié)果碼,用以指示存儲過程的執(zhí)行狀態(tài)。一個結(jié)果碼,用以指示存儲過程的執(zhí)行狀態(tài)。如果存儲過程執(zhí)行成功,返回的結(jié)果碼是如果存儲過程執(zhí)行成功,返回的結(jié)果碼是0;如果存儲過程執(zhí)行失敗,返回的結(jié)果碼一般如果存儲過程執(zhí)行失敗,返回的結(jié)果碼一般是一個負數(shù),它和失敗的類型有關。我們在是一個負
7、數(shù),它和失敗的類型有關。我們在創(chuàng)建存儲過程時,也可以定義自己的狀態(tài)碼創(chuàng)建存儲過程時,也可以定義自己的狀態(tài)碼和錯誤信息。和錯誤信息。整理pptCREATE PROCedure sp_getemp;3(salary int =NULL)AS IF salary IS NULLBEGIN PRINT 必須提供一個數(shù)值作參數(shù)!必須提供一個數(shù)值作參數(shù)! RETURN 13ENDIF NOT EXISTS (SELECT * FROM 職工職工 WHERE 工資工資 salary)BEGIN PRINT 沒有滿足條件的記錄!沒有滿足條件的記錄! RETURN -103ENDSELECT * FROM 職工
8、職工 WHERE 工資工資 salaryRETURN 0例:帶參數(shù)和返回狀態(tài)值的存儲過程。例:帶參數(shù)和返回狀態(tài)值的存儲過程。整理ppt例:執(zhí)行以上存儲過程。例:執(zhí)行以上存儲過程。DECLARE status intEXECUTE status=sp_getemp;3 1200print status整理ppt整理ppt 存儲過程是客戶/服務器機制的一個重要組成部分,如果使用客戶/服務器機制的數(shù)據(jù)庫管理系統(tǒng),但是不理解存儲過程或沒有充分利用存儲過程,那將使客戶/服務器機制的功能大打折扣,使系統(tǒng)的整體性能可能降低很多。整理ppt 觸發(fā)器可以看作是一類特殊的存儲過程,觸發(fā)器可以看作是一類特殊的存儲過
9、程,它在滿足某個特定條件時自動觸發(fā)執(zhí)行。它在滿足某個特定條件時自動觸發(fā)執(zhí)行。 觸發(fā)器是為表上的更新、插入、刪除操觸發(fā)器是為表上的更新、插入、刪除操作定義的,也就是說當表上發(fā)生更新、插入作定義的,也就是說當表上發(fā)生更新、插入或刪除操作時觸發(fā)器將執(zhí)行?;騽h除操作時觸發(fā)器將執(zhí)行。整理ppt 1. 觸發(fā)器可以通過級聯(lián)的方式對相關的表觸發(fā)器可以通過級聯(lián)的方式對相關的表進行修改。比如,對父表的修改,可以引起對進行修改。比如,對父表的修改,可以引起對子孫表的一系列修改,從而保證數(shù)據(jù)的一致性子孫表的一系列修改,從而保證數(shù)據(jù)的一致性和完整性。和完整性。 2. 觸發(fā)器可以禁止或撤消違反參照完整性觸發(fā)器可以禁止或撤
10、消違反參照完整性的修改。的修改。 3. 觸發(fā)器可以強制比用觸發(fā)器可以強制比用CHECK約束定義約束定義更加復雜的限制。更加復雜的限制。整理ppt整理pptCREATE TRIGGER trigger_nameON tableFOR INSERT | UPDATE | DELETE AS IF UPDATE(column) AND | OR UPDATE(column)sql_statements s trigger_name:給出了觸發(fā)器的名稱;:給出了觸發(fā)器的名稱;s s table:說明了定義觸發(fā)器的表或視圖;:說明了定義觸發(fā)器的表或視圖;s s FOR INSERT | UPDATE |
11、 DELETE :說明了激活觸發(fā)器的數(shù)據(jù)操作語句;:說明了激活觸發(fā)器的數(shù)據(jù)操作語句;s s IF UPDATE(column):對應于:對應于UPDATE類觸發(fā)器,說明如果更新某(些)列類觸發(fā)器,說明如果更新某(些)列則做如何處理;則做如何處理;s s sql_statement:觸發(fā)器所要執(zhí)行的:觸發(fā)器所要執(zhí)行的SQL語句,它可以是一組語句,它可以是一組SQL語句,可以包語句,可以包含流程控制語句等。含流程控制語句等。整理pptCREATE TRIGGER wh_triggerON 倉庫倉庫FOR INSERT AS PRINT 插入了一個倉庫元組插入了一個倉庫元組整理ppt為觸發(fā)器運行而自
12、動派生的兩個視圖:為觸發(fā)器運行而自動派生的兩個視圖:inserted存放剛插入的新記錄存放剛插入的新記錄deleted存放剛刪除的舊記錄存放剛刪除的舊記錄整理ppt 刪除類觸發(fā)器就是當表上發(fā)生刪除操作時刪除類觸發(fā)器就是當表上發(fā)生刪除操作時所觸發(fā)執(zhí)行的程序。所觸發(fā)執(zhí)行的程序。整理pptCREATE TRIGGER w_del_triggerON 倉庫倉庫 FOR DELETEASUPDATE 職工職工SET 倉庫號倉庫號=NULLWHERE 倉庫號倉庫號 = (SELECT 倉庫號倉庫號 FROM deleted)整理ppt 插入類觸發(fā)器就是當表上發(fā)生插入插入類觸發(fā)器就是當表上發(fā)生插入操作時所觸
13、發(fā)執(zhí)行的程序。操作時所觸發(fā)執(zhí)行的程序。整理pptCREATE TRIGGER e_ins_triggerON 職工 FOR INSERTASIF (SELECT COUNT(*) FROM 倉庫 w , inserted i WHERE w.倉庫號 = i.倉庫號) = 0BEGIN RAISERROR (非法倉庫號!,1,1) ROLLBACK TRANSACTIONEND整理ppt 更新類觸發(fā)器就是當表上發(fā)生更新操作時更新類觸發(fā)器就是當表上發(fā)生更新操作時所觸發(fā)執(zhí)行的程序。所觸發(fā)執(zhí)行的程序。整理ppt整理pptCREATE TRIGGER e_upd_triggerON 職工職工 FOR UPDATEASDECLARE wh_no CHAR(4)IF UPDATE(倉庫號倉庫號) BEGIN IF (SELECT COUNT(*) FROM 倉庫倉庫 w , inserted i WHERE w.倉庫號倉庫號 = i.倉庫號倉庫號) = 0 BEGIN RAISERROR (非法倉庫號!非法倉庫號!, 16, 1) ROLLBACK TRANSACTION END ELSE BEGIN SELECT wh_no = 倉庫號倉庫號 FROM inserted IF wh_no = WH2 UPDATE 職工職工 SET 工資工資 = 工資工資*1.10 WHERE 職工號職
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工廠整改報告-企業(yè)管理
- 銀行信息系統(tǒng)安全管理制度
- 銀行合規(guī)管理制度優(yōu)化
- 酒店餐飲服務規(guī)范及質(zhì)量控制制度
- 零售媒體化專項研究報告(2024年)
- 《信號形成處理記錄》課件
- 克萊斯勒鉑銳不啟動防盜系統(tǒng)診斷案例
- 《議論文結(jié)構布局》課件
- 全國百強名校2025屆高考英語三模試卷含解析
- 河南省鄭州市2025屆高三第二次模擬考試語文試卷含解析
- 營銷策略4P-課件
- 計算機期末大作業(yè)
- huawei te30電視終端安裝配置與操作
- T-GDC 65-2023 鋼纖增強聚乙烯復合壓力管道
- 六年級上專題復習題及知識歸納(分數(shù)乘除、比、百分數(shù)應用、簡便運算、解方程)
- 土力學與基礎工程復習題及答案
- 購物中心運營管理
- 血液透析用留置針在自體動靜脈內(nèi)瘺中的應用新進展
- 提高樁基成孔合格率天津外環(huán)線QC小組
- 鄉(xiāng)村振興扶貧戰(zhàn)略的實施
- 人體器官捐獻工作經(jīng)驗總結(jié)怎么寫
評論
0/150
提交評論