--存储过程
--无参数的存储过程
create procedure emp_pro
as
select * from emp;
exec emp_pro;
--带一个参数的存储过程
drop procedure emp_pro1;--删除存储过程
create procedure emp_pro1(@depid int)
as
select * from emp where depid = @depid;
emp_pro1 2;
--这是带有返回参数的存储过程
drop procedure emp_pro2;
create procedure emp_pro2(@depid int , @empname varchar(20) output)
as
select @empname = empname from emp where depid = @depid;
go
declare @name varchar(20);
exec emp_pro2 2, @name output;
print @name;
go
--有返回值得两种存储过程的方式
--这是地中方式
create procedure t1(@a int, @b int)
as
return @a + @b;
--这是调用
declare @c int;
exec @c = t1 1,2 ;
print @c;
--这是第二种方式
create procedure t2(@a int, @b int, @c int output)
as
set @c = @a + @b;
--这是调用
declare @c int;
--千万注意这里的输出函数一定要带上这个outut
exec t2 1,2, @c output;
select @c;