創建存儲過程
-
開始之前: 權限
-
創建存儲過程,使用: SQL Server Management Studio、Transact-SQL
需要在數據庫中有 CREATE PROCEDURE 權限,對在其中創建過程的架構有 ALTER 權限。
您可以使用以下項之一:
使用 SQL Server Management Studio
在對象資源管理器中創建過程
-
在對象資源管理器中,連接到某個數據庫引擎實例,再展開該實例。
-
依次展開“數據庫”、 AdventureWorks2012 數據庫和“可編程性”。
-
右鍵單擊“存儲過程”,再單擊“新建存儲過程”。
-
在“查詢”菜單上,單擊“指定模板參數的值”。
-
在“指定模板參數的值”對話框中,輸入下列所示的參數值。
-
單擊“確定”。
-
在“查詢編輯器”中,使用以下語句替換 SELECT 語句:
SELECT FirstName, LastName, Department FROM HumanResources.vEmployeeDepartmentHistory WHERE FirstName = @FirstName AND LastName = @LastName AND EndDate IS NULL; -
若要測試語法,請在“查詢”菜單上,單擊“分析”。 如果返回錯誤消息,則請將這些語句與上述信息進行比較,並視需要進行更正。
-
若要創建該過程,請在“查詢”菜單上單擊“執行”。 該過程作爲數據庫中的對象創建。
-
若要查看在對象資源管理器中列出的過程,請右鍵單擊“存儲過程”,然後選擇“刷新”。
-
若要運行該過程,請在對象資源管理器中右鍵單擊存儲過程名稱 HumanResources.uspGetEmployeesTest,然後選擇“執行存儲過程”。
-
在“執行過程”窗口中,輸入 Margheim 作爲參數 @LastName 的值,並且輸入值 Diane 作爲參數 @FirstName 的值。
注意 |
---|
驗證所有用戶的輸入。 驗證前請勿連接用戶輸入。 絕對不要執行根據尚未驗證的用戶輸入構造的命令。 |
使用 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
創建過程:
1. 利用工具欄打開[Query]窗口編寫sql:
注意:如果不用參數,紅色方框裏面的左右括號也是必要的
2.利用工具欄打開[Function]嚮導
存儲過程的調用
1.[Query]中直接寫SQL
2.對象瀏覽器中[Functions]下找到該存儲過程右鍵執行,然後輸入參數
注意:如果參數是字符串,記得加單引號
實踐練習:
表tbl_student
call testStu('nick');
result:
dao層code: