*存储过程
1.返回值
create proc example4
AS
Begin
Declare @返回值 int
Select @返回值=sum(库存量) from 产品
return @返回值
End
Go
接受这个返回值必须要用变量来接收,如:
declare @接收值 int
exec @接收值 = example4
print @接收值
注意:return 返回的是整数,output可以返回任何数据。
2.注意点
调用存储过程返回影响了多少行记录的语句。然而有些时候,并不希望返回这些信息,以免干扰应用程序的运行,也可以减少带宽,此 时可以将影响的行数信息关闭,关闭方法为:
set nocount on
3.存储过程的嵌套
在一个存储过程中还可以执行另一个存储过程,称之为嵌套。存储过程可以多次嵌套,最多可以嵌套到32层。如果超过 32层的嵌套将会导致整个调用链失败。正在执行的存储过程的当前嵌套层数可以使用@@NESTLEVEL来查看。
4.sp_helptext 存储过程名
这个方法可以用来查看当前存储过程的源代码
5.加密存储过程
create proc example8
@类别名称 nvarchar(15)
with excryption
AS
6.创建存储过程组
create proc example9;1
AS
Select * from类别
Go
create proc example9;2
AS
Select * from类别
Go
调用的时候也是 exec pro example9;2
7.存储过程中的string
@p varchar(25)//注意用varchar
*存储过程求三个数中的最大值
drop proc getMax
go
create proc getMax
(
@a int,
@b int,
@c int,
@returnValue int output
)
as
begin
select @returnValue=cast(MAX(b) as int) from (select @a as b union select @b union select @c)a
end
go
declare @abc int
exec getMax 1,2,32,@abc output
select @abc