SqlCollections - 存儲過程

 1 --==============================存儲過程===============================
 2 --建立存儲過程
 3 CREATE PROC usp_例一
 4 AS
 5 SELECT * FROM 類別
 6 GO
 7 EXEC usp_例一
 8 
 9 --帶參數的存儲過程
10 CREATE PROC usp_例二
11 @id int = 2    --可選:=2是指定了參數的默認值
12 AS
13 BEGIN
14     SET NOCOUNT ON;    --不顯示影響行數的通知,能提升性能
15     SELECT * FROM 產品 WHERE 類別ID = @id
16 END
17 GO
18 --@id傳入默認值
19 EXEC usp_例二    
20 --或者:
21 EXEC usp_例二 default
22 --@id傳入指定值
23 EXEC usp_例二 1    
24 --或者:
25 EXEC usp_例二 @id=1
26 
27 --存儲過程的返回值:Return
28 --Return只能返回整數值
29 --返回值必須使用一個變量來接受,直接EXEC執行是得不到返回值的!
30 CREATE PROC usp_例三
31 AS
32 DECLARE @sum int
33 SELECT @sum = sum(庫存量) FROM 產品
34 RETURN @sum
35 GO
36 DECLARE @return int
37 EXEC @return = usp_例三
38 PRINT @return
39 
40 --存儲過程的返回值:Output
41 --Output能夠返回任何數據
42 --接受Output的返回值也必須用變量
43 CREATE PROC usp_例四
44 @sum int OUTPUT    --指定該參數爲返回參數
45 AS
46 SELECT @sum = sum(庫存量) FROM 產品
47 GO
48 DECLARE @return int
49 EXEC usp_例四 @return OUTPUT    --調用sp時,返回參數也必須寫上OUTPUT
50 PRINT @return
51 
52 --查看指定存儲過程的源碼
53 EXEC sp_helptext usp_例一
54 
55 --加密存儲過程
56 CREATE PROC usp_加密的存儲過程
57 WITH ENCRYPTION
58 AS
59 SELECT * FROM 類別
60 GO
61 EXEC sp_helptext usp_加密的存儲過程
62 
63 --存儲過程組
64 CREATE PROC usp_查詢類別;1    --存儲過程名稱+分號+編號
65 @id int
66 AS
67 SELECT * FROM 類別 WHERE 類別ID = @id
68 GO
69 
70 CREATE PROC usp_查詢類別;2    --同樣的名稱
71 @name nvarchar(50)
72 AS
73 SELECT * FROM 類別 WHERE 類別名稱 = @name
74 GO
75 
76 EXEC usp_查詢類別 5    --默認執行第一個存儲過程
77 EXEC usp_查詢類別;1 5    --指定了存儲過程的編號
78 EXEC usp_查詢類別;2 點心
79 
80 --刪除存儲過程
81 --若刪除存儲過程組,則組中的全部存儲過程都會被刪除
82 DROP PROC usp_查詢類別
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息