SQL存储过程笔记

 

 

存储过程相当于是TransactSQL的子程序。存储过程是一组为了完成特定功能的TransactSQL语句集,是经编译后存储在服务器上并在服务器端运行的程序模块。用户通过存储过程的名称和提供的有关参数来执行它。存储过程一旦被创建,此后可以多次调用,极大地提高了程序的效率、可移植性和数据逻辑独立性

 

 

  • 不带参数的存储过程
create procedure mypro1
as
select * from
student
where s_average>75
--下面是执行
execute mypro1
 
  • 带输入参数的存储过程
create procedure mypro2
@min_average char(10),
@max_average char(10)
as
select * from student
where s_average<=@max_average and s_average>=@min_average
--下面是三种执行带参数存储过程的方法,结果一样
mypro2 75,80;
execute mypro2 75,80;
execute mypro2 @max_average=80,@min_average=75;
  
在有输入参数的存储过程中, 输入参数的值可以默认,这样在执行的时候可以不用输入或输入所指定的默认值

@min_average char(10)=75,

min_average 默认为75 执行的时候不需要在输入或输入75

 

 

 

  • 带输出参数的存储过程
create procedure mypro3
@total_average real output,
@total_female_average real output
as
select @total_average=sum(s_average)
from student;
select @total_female_average=sum(s_average)
from student
where s_sex='女'
--带输出参数的存储过程,调用它和别的存储过程不一样
declare @total_average real,@total_female_average real
exec mypro3 @total_average output ,@total_female_average output;
print @total_average;
print @total_female_average;
 

对于带output参数的存储过程,其调用方法与其他存储过程有所不同。首先要声明相应的变量来存放返回的结果,

然后在调用的时候要带关键字output否则无法将返回结果保存下来。

 

你可能感兴趣的:(存储过程)