1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
预存程序

第十二章 預存程序與觸發程序 (Stored Procedures and Trigger) Chapter 12 Outline 12-1 建立預存程序 12-2 預存程序的修改 12-3 建立傳遞參數的預存程序 12-4 使用RECOMPILE與ENCRYPTION 的預存程序 12-5 使用預存程序的注意事項 12-6 建立觸發程序 12-7 遞迴式觸發程序 12-8 INSERTED與DELETED表格 12-9 使用DDL觸發程序 12-10 本章總結 12-1 建立預存程序 預存程序是一個利用SQL敘述所撰寫的程式,經過事先的編譯之後,儲存在資料庫中,是屬於伺服器端的程式 。 經常使用的SQL查詢建立成預存程序就可以不用每次都透過網路來傳送、資料庫系統分析SQL語、評估執行計畫之後,才查詢而送回結果集(Result Set) 。 預存程序有兩種基本的型態 第一種是存取資料,例如:SELECT的查詢 第二種型態是不傳回結果集,只在資料庫端做某些動作,例如:DELETE的敘述等 12-1 建立預存程序 建立預存程序的語法結構: CREATE PROC[EDURE] [schema_name.] procedure_name [;number] [ {@parameter data_type} [VARYING] [= default] [OUTPUT] ] [,...n] [WITH { RECOMPILE | ENCRYPTION | RECOMPILE, ENCRYPTION } ] [FOR REPLICATION] AS sql_statements 12-1 建立預存程序 建立步驟建議如下 : 撰寫SQL敘述 測試所撰寫的SQL敘述 如果所得的結果與您預期的相同,則建立此預存程序 執行這個預存程序 12-1 建立預存程序 例如:想要建立一個統計客戶個數的預存程序 12-1 建立預存程序 執行上面第一段SQL敘述即可建立預存程序 第二段為執行預存程序的方式 12-2 預存程序的修改 修改預存程序的語法與建立時幾乎相同只有將關鍵字CREATE改成ALTER,如下: ALTER PROC[EDURE] [schema_name.] procedure_name [;number] … 12-2 預存程序的修改 12-3 建立傳遞參數的預存程序 撰寫接受參數的預存程序之基本語法結構 : CREATE PROCE[DURE] [schema_name.] procedure_name @parameter_name1 datatype, @paremeter_name2 datatype ,… @paremeter_result datatype OUTPUT AS sql_statements parameter_name1、parameter_name2…等是傳入的參數 OUTPUT是規劃傳回的參數 datatype是宣告參數的資料型態 12-3 建立傳遞參數的預存程序 執行時傳遞的方法可使用參數宣告的順序 : EXEC proc_name [value[,value]…] 使用與參數名稱相對應的方法: EXEC proc_name [@parameter_name2=value2][OUTPUT] [@parameter _name1=value1] … 12-3 建立傳遞參數的預存程序 範例12-3.1 :建立一個「以客戶名稱來查詢其相關資料」的預存程序 create proc dis_name @pname varchar(20) --規劃傳入參數名稱與資料型態 as --以下為預存程序的T-SQL select * from customers where cust_name like %+@cname+%‘ 12-3 建立傳遞參數的預存程序 執行的兩種方法如下: exec cust_name ‘資訊’ exec cust_name @panme=‘資訊’ 12-3 建立傳遞參數的預存程序 範例12-3.2:建立一個可以傳出參數的預存程序 create procedure cust_num @cust_num int, --傳入的參數 @cust_name char(20) OUTPUT --傳出的參數 as select @cust_name=cust_name from custo

文档评论(0)

magui + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8140007116000003

1亿VIP精品文档

相关文档