存储过程(procedure)就是一个函数,完成一段sql代码的封装,实现代码的重用。
语法:
create proc 名称
参数列表
as
代码段
调用:exec 名称 参数列表
知识1:可以使用output修饰参数
知识2:可以使用默认值,注意需要将最后的参数设置成默认值
示例1
create proc trim ---创建一个存储过程
@str varchar(10) --参数列表,多个间用逗号分隔
as
--自定义代码段
declare @str1 varchar(10)
set @str1=LTRIM(RTRIM(@str))
print @str1
--使用存储过程
exec trim ‘ abc ‘
--打印‘abc‘
示例2
带输出参数的存储过程
--求两个数的和
create proc sum1
@num1 int,
@num2 int,
@result int output --表示这个参数可以将结果带出存储过程
as
set @[email protected][email protected]
--调用
declare @r1 int
exec sum1 1,2,@r1 output --必须要写output关键字,否则调用出错
print @r1
示例3
参数带默认值的存储过程,注意:默认值必须是最后一个参数
create proc multi
@num1 int,
@num2 int=10 output --output的功能类似于C#中的ref修饰参数
as
set @[email protected]*@num1
print @num2
--测试带出值的效果
declare @num int=2
exec multi 3,@num output
select @num
--测试默认值
exec multi 3