本主題說明如何使用 SQL Server Management Studio 以及使用 Transact-SQL CREATE PROCEDURE 陳述式,建立 Transact-SQL 預存程序。
開始之前:權限
權限
需要在資料庫中的 CREATE PROCEDURE 權限,以及在建立程序時所在的結構描述上的 ALTER 權限。
如何建立預存程式
您可以使用下列其中一項:
使用 SQL Server Management Studio
在 [物件總管] 中建立程序
在 [物件總管] 中,連線到資料庫引擎的執行個體,然後展開該執行個體。
依序 展開 [資料庫]、[ AdventureWorks2012 ] 資料庫,然後展開 [ 可程式性]。
以滑鼠右鍵按一下 [預存程序],然後按一下 [新增預存程序]。
在 [查詢] 功能表上,按一下 [指定範本參數的值] 。
在 [指定範本參數的值] 對話方塊中,為顯示的參數輸入下列值。
參數 值 作者 您的名字 建立日期 今天的日期 描述 傳回員工資料。 Procedure_name HumanResources.uspGetEmployeesTest @Param1 @LastName @Datatype_For_Param1 nvarchar(50)預設值_參數1 零 @Param2 @FirstName @Datatype_For_Param2 nvarchar(50)Default_Value_For_Param2 零 按一下 [確定]。
在 [查詢編輯器] 中,以下列陳述式取代 SELECT 陳述式:
SELECT FirstName, LastName, Department FROM HumanResources.vEmployeeDepartmentHistory WHERE FirstName = @FirstName AND LastName = @LastName AND EndDate IS NULL;若要測試語法,請在 [查詢] 功能表上按一下 [剖析] 。 如果傳回錯誤訊息,請比較陳述式與上列資訊,並視需要進行更正。
若要建立程序,請在 [查詢] 功能表中,按一下 [執行]。 程序也可建立為資料庫中的物件。
若要查看物件總管中所列的程序,請以滑鼠右鍵按一下 [預存程序],然後選取 [重新整理]。
若要執行程序,請在物件總管中,以滑鼠右鍵按一下預存程序名稱 HumanResources.uspGetEmployeesTest,然後選取 [執行預存程序]。
在 [執行程序] 視窗中,輸入 Margheim 以作為 參數值,然後輸入 Diane 值以作為 @LastName 參數值。
警告
驗證所有使用者輸入。 在使用者輸入完成驗證前,請勿加以串連。 請勿執行由未經驗證之使用者輸入所建構的命令。
使用 TRANSACT-SQL
若要在查詢編輯器中建立程序
在物件總管中,連線到資料庫引擎的執行個體。
在 [檔案] 功能表中,按一下 [新增查詢] 。
複製下列範例並將其貼到查詢視窗中,然後按一下 [執行] 。 此範例會使用不同的程序名稱建立與上述相同的預存程序。
USE AdventureWorks2012; GO CREATE PROCEDURE HumanResources.uspGetEmployeesTest2 @LastName nvarchar(50), @FirstName nvarchar(50) AS SET NOCOUNT ON; SELECT FirstName, LastName, Department FROM HumanResources.vEmployeeDepartmentHistory WHERE FirstName = @FirstName AND LastName = @LastName AND EndDate IS NULL; GO若要執行程序,請將下列範例複製並貼到新的查詢視窗中,然後按一下 [執行] 。 請注意,此處顯示指定參數值的不同方法。
EXECUTE HumanResources.uspGetEmployeesTest2 N'Ackerman', N'Pilar'; -- Or EXEC HumanResources.uspGetEmployeesTest2 @LastName = N'Ackerman', @FirstName = N'Pilar'; GO -- Or EXECUTE HumanResources.uspGetEmployeesTest2 @FirstName = N'Pilar', @LastName = N'Ackerman'; GO