当前位置: 代码迷 >> SQL >> SQL存储过程札记
  详细解决方案

SQL存储过程札记

热度:50   发布时间:2016-05-05 14:29:10.0
SQL存储过程笔记

?

?

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

?

?

  • 不带参数的存储过程
create procedure mypro1asselect * fromstudentwhere s_average>75--下面是执行execute mypro1
?
  • 带输入参数的存储过程
create procedure mypro2@min_average char(10),@max_average char(10)asselect * from studentwhere s_average<[email protected]_average and s_average>[email protected]_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 outputasselect @total_average=sum(s_average)from student;select @total_female_average=sum(s_average)from studentwhere s_sex='女'--带输出参数的存储过程,调用它和别的存储过程不一样declare @total_average real,@total_female_average realexec mypro3 @total_average output ,@total_female_average output;print @total_average;print @total_female_average;
?

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

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

?

  相关解决方案