




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
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 客戶/服務器數據庫與傳統的數據庫結構的一個很重要的區別是,在傳統的數據庫中只存放數據,所有的應用程序都在用戶
2、端,都與用戶實際運行的應用程序捆綁在一起;而在客戶/服務器結構的數據庫中,在數據庫中還可以存放程序,即存儲過程。整理ppt 存儲過程是事先編好的、存儲在數據庫中的程序,這些程序用來完成對數據庫的指定操作。整理ppt系統存儲過程 SQL Server本身提供了一些存儲過程,用于管理SQL Server和顯示有關數據庫和用戶的信息,我們稱之為系統存儲過程。用戶存儲過程 用戶也可以編寫自己的存儲過程,并把它存放在數據庫中。這樣安排的主要目的就是要充分發揮數據庫服務器的功能,盡量減少網絡上的堵塞。整理ppt客戶端應用(不使用存儲過程)客戶端應用(使用存儲過程).Start transaction.IN
3、SERT dataUPDATE dataDELETE dataEnd transaction.Start transaction.Call Stored procedureEnd transaction.DBMSServerDBMSServerProcedure:INSERT dataUPDATE dataDELETE data(a)(b) 不使用存儲不使用存儲過程時,所有過程時,所有的數據處理都的數據處理都在客戶端完成;在客戶端完成;而使用存儲過而使用存儲過程時,可以使程時,可以使數據處理在服數據處理在服務器端完成。務器端完成。整理pptCREATE PROCedure procedure_
4、name ; number parameter data_type = default , AS sql_statement s s procedure_name:給出存儲過程名;:給出存儲過程名;s s number:對同名的存儲過程指定一個序號;:對同名的存儲過程指定一個序號;s s parameter:給出參數名;:給出參數名;s s data_type:指出參數的數據類型;:指出參數的數據類型;s s = default:給出參數的默認值;:給出參數的默認值;s s sql_statement:存儲過程所要執行的:存儲過程所要執行的SQL語句,它可以是一語句,它可以是一組組SQL語句,
5、可以包含流程控制語句等。語句,可以包含流程控制語句等。整理pptCREATE PROCedure sp_getemp;1AS SELECT * FROM 職工職工整理pptCREATE PROCedure sp_getemp;2(salary int)AS SELECT * FROM 職工職工 WHERE 工資工資 salary整理ppt 存儲過程一般用來完成數據查詢和數據處理操作,存儲過程一般用來完成數據查詢和數據處理操作,所以在存儲過程中不可以使用創建數據庫對象的語句,所以在存儲過程中不可以使用創建數據庫對象的語句,即在存儲過程中一般不能含有以下語句:即在存儲過程中一般不能含有以下語句:C
6、REATE TABLECREATE VIEWCREATE DEFAULTCREATE RULECREATE TRIGGERCREATE PROCEDURE整理pptEXECute=|整理pptexecute sp_getemp;2 1240 整理ppt 無論什么時候執行存儲過程,總要返回無論什么時候執行存儲過程,總要返回一個結果碼,用以指示存儲過程的執行狀態。一個結果碼,用以指示存儲過程的執行狀態。如果存儲過程執行成功,返回的結果碼是如果存儲過程執行成功,返回的結果碼是0;如果存儲過程執行失敗,返回的結果碼一般如果存儲過程執行失敗,返回的結果碼一般是一個負數,它和失敗的類型有關。我們在是一個負
7、數,它和失敗的類型有關。我們在創建存儲過程時,也可以定義自己的狀態碼創建存儲過程時,也可以定義自己的狀態碼和錯誤信息。和錯誤信息。整理pptCREATE PROCedure sp_getemp;3(salary int =NULL)AS IF salary IS NULLBEGIN PRINT 必須提供一個數值作參數!必須提供一個數值作參數! RETURN 13ENDIF NOT EXISTS (SELECT * FROM 職工職工 WHERE 工資工資 salary)BEGIN PRINT 沒有滿足條件的記錄!沒有滿足條件的記錄! RETURN -103ENDSELECT * FROM 職工
8、職工 WHERE 工資工資 salaryRETURN 0例:帶參數和返回狀態值的存儲過程。例:帶參數和返回狀態值的存儲過程。整理ppt例:執行以上存儲過程。例:執行以上存儲過程。DECLARE status intEXECUTE status=sp_getemp;3 1200print status整理ppt整理ppt 存儲過程是客戶/服務器機制的一個重要組成部分,如果使用客戶/服務器機制的數據庫管理系統,但是不理解存儲過程或沒有充分利用存儲過程,那將使客戶/服務器機制的功能大打折扣,使系統的整體性能可能降低很多。整理ppt 觸發器可以看作是一類特殊的存儲過程,觸發器可以看作是一類特殊的存儲過
9、程,它在滿足某個特定條件時自動觸發執行。它在滿足某個特定條件時自動觸發執行。 觸發器是為表上的更新、插入、刪除操觸發器是為表上的更新、插入、刪除操作定義的,也就是說當表上發生更新、插入作定義的,也就是說當表上發生更新、插入或刪除操作時觸發器將執行。或刪除操作時觸發器將執行。整理ppt 1. 觸發器可以通過級聯的方式對相關的表觸發器可以通過級聯的方式對相關的表進行修改。比如,對父表的修改,可以引起對進行修改。比如,對父表的修改,可以引起對子孫表的一系列修改,從而保證數據的一致性子孫表的一系列修改,從而保證數據的一致性和完整性。和完整性。 2. 觸發器可以禁止或撤消違反參照完整性觸發器可以禁止或撤
10、消違反參照完整性的修改。的修改。 3. 觸發器可以強制比用觸發器可以強制比用CHECK約束定義約束定義更加復雜的限制。更加復雜的限制。整理ppt整理pptCREATE TRIGGER trigger_nameON tableFOR INSERT | UPDATE | DELETE AS IF UPDATE(column) AND | OR UPDATE(column)sql_statements s trigger_name:給出了觸發器的名稱;:給出了觸發器的名稱;s s table:說明了定義觸發器的表或視圖;:說明了定義觸發器的表或視圖;s s FOR INSERT | UPDATE |
11、 DELETE :說明了激活觸發器的數據操作語句;:說明了激活觸發器的數據操作語句;s s IF UPDATE(column):對應于:對應于UPDATE類觸發器,說明如果更新某(些)列類觸發器,說明如果更新某(些)列則做如何處理;則做如何處理;s s sql_statement:觸發器所要執行的:觸發器所要執行的SQL語句,它可以是一組語句,它可以是一組SQL語句,可以包語句,可以包含流程控制語句等。含流程控制語句等。整理pptCREATE TRIGGER wh_triggerON 倉庫倉庫FOR INSERT AS PRINT 插入了一個倉庫元組插入了一個倉庫元組整理ppt為觸發器運行而自
12、動派生的兩個視圖:為觸發器運行而自動派生的兩個視圖:inserted存放剛插入的新記錄存放剛插入的新記錄deleted存放剛刪除的舊記錄存放剛刪除的舊記錄整理ppt 刪除類觸發器就是當表上發生刪除操作時刪除類觸發器就是當表上發生刪除操作時所觸發執行的程序。所觸發執行的程序。整理pptCREATE TRIGGER w_del_triggerON 倉庫倉庫 FOR DELETEASUPDATE 職工職工SET 倉庫號倉庫號=NULLWHERE 倉庫號倉庫號 = (SELECT 倉庫號倉庫號 FROM deleted)整理ppt 插入類觸發器就是當表上發生插入插入類觸發器就是當表上發生插入操作時所觸
13、發執行的程序。操作時所觸發執行的程序。整理pptCREATE TRIGGER e_ins_triggerON 職工 FOR INSERTASIF (SELECT COUNT(*) FROM 倉庫 w , inserted i WHERE w.倉庫號 = i.倉庫號) = 0BEGIN RAISERROR (非法倉庫號!,1,1) ROLLBACK TRANSACTIONEND整理ppt 更新類觸發器就是當表上發生更新操作時更新類觸發器就是當表上發生更新操作時所觸發執行的程序。所觸發執行的程序。整理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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廚房設備售后服務計劃及承諾
- 初中語法入門:go與going的區別及其用法
- 我的校園時光作文(9篇)
- 外語課堂交互模式的歷史發展與演變
- 網絡服務協議的具體內容與條款規定
- 小學生如何提升學科思維能力
- 《時態的結構與運用:九年級英語語法》
- 秋日鄉村景色:寫景作文(14篇)
- 海底兩萬里中的幻想與現實交融:八年級語文小說賞析教案
- 能源工程新能源技術發展趨勢測試卷
- 過敏調查表范本
- 春香傳(主演:王志萍-陳娜君)
- 儀器校準管理課件
- 2023年06月中國社會科學院金融研究所第一批專業技術人員公開招聘筆試歷年難、易錯考點試題含答案解析
- 2023年杭州市濱江區數學六下期末質量跟蹤監視試題含解析
- 特種設備日管控、周排查、月調度模板
- 普通外科學科建設課件
- 《愛的教育》課外閱讀指導課正式版
- 圖解C編程知到章節答案智慧樹2023年寧波大學
- 2020年現行房屋建筑工程常用材料進場取樣復試檢驗項目規范
- 分保、等保、關保、密評之間聯系與區別
評論
0/150
提交評論