SQL Stored Procedure SQL 預存程序
建立Stored Procedure Stored Procedure是透過Create Procedure陳述式建立 語法 CREATE PROCEDURE [owner.]procedure_name[;number] [(parameter1 [, parameter2]...[parameter255])] [{FOR REPLICATION} | {WITH RECOMPILE} [{[WITH] | [,]} ENCRYPTION]] AS sql_statements 參數 說明 procedure_name 對Stored Procedure指定一個新的名稱,名稱必須是在這個資料庫和擁有者下唯一的名稱,而且名稱總長度不可以超過20個字元。 parameter 指定Stored Procedure中的參數,您可以在Create Procedure敘述當中宣告一或多個參數。使用者必須在Stored Procedure執行時提供每一個參數的數值(除非這些參數有預設值)。一個Stored Procedure最多可以有255個參數。 sql_statements 指示這一個Stored Procedure所要進行的動作。
建立一個名為count_customers的Stored Procedure
建立一個名為count_customers的Stored Procedure
建立一個名為count_customers的Stored Procedure CREATE PROC count_customers AS SELECT COUNT(*) FROM customers
執行Stored Procedure
建立有參數的Stored Procedure 參數定義的語法如下: parameter = @parameter_name datatype [=default][Output]
parameter = @parameter_name datatype [=default][Output] 引數 說明 parameter_name 指定參數的名稱,不過在名稱的前頭要加入@符號。 datatype 指定參數的資料型別,除了Image之外所有型別都可以使用。 default 指定參數的預設值,假如有設定預設值的話,使用者可以不需要輸入數值給參數便可以執行Stored Procedure。 Output 表示這一個參數是一個傳回資訊的參數。這個選項可以讓這個參數值傳回給呼叫Stored Procedure的 Execute 陳述式。將傳回資訊透過這一個參數送回給原呼叫程序。
建立一個名為math的Stored Procedure CREATE PROCEDURE math @m1 smallint, @m2 smallint, @result smallint OUTPUT AS select @result = @m1 * @m2
執行Stored Procedure