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_查询类别
原文地址:https://www.cnblogs.com/sky-sun/p/4045463.html