如何创建带参数的存储过程

来源:互联网 发布:mac怎么安装外来软件 编辑:程序博客网 时间:2024/05/16 15:30

  一、 创建带参数的存储过程

      创建带参数的存储过程首先要在存储过程中声明该参数,每个存储过程参数都必须用唯一的名称进行定义。与T-SQL变量相同,参数名必须以@为前缀,并且遵从标识符规则。当用户不提供该参数的值时可以使用一个默认值来代替。

    1.不带默认值的参数

     创建一个参数不带默认值的存储过程,在调用该存储过程时,必须对存储过程中的所有参数进行赋值,如果有一个参数没有赋值,则无法调用该存储过程。例如:

     

use db_student--创建存储过程create procedure proc_group@课程类别 varchar(20),  --定义参数@学分 int as select * from coursewhere 课程类别=@课程类别 and 学分>@学分
执行不带参数的存储过程就是:

use db_studentexec proc_group '歌曲',8
如果不按顺序赋值可以写成:

use db_studentexec proc_group @学分=8,@课程类别=‘篮球课’
2.带默认值的参数

  在SQL中我们可以对字段进行默认值的约束,在存储过程中也可以建立使用默认值的参数。只要在参数的定义之后加上等号,并在等号后面写出默认值即可。

--创建存储过程use db_studentcreate procedure proc_group@课程类别 varchar(20)='体育课',@学分 int=6as select * from course where 课程类别=@课程类别 and 学分>@学分
执行参数带默认值的存储过程

use db_studentexec proc_group @学分=8

3.带返回参数的存储过程

创建存储过程时,可以用output参数来创建一个带返回值的存储过程,例如:
 

@a int output
如果创建带返回参数的存储过程proc_group,那么SQL语句如下:

--创建带返回值的存储过程create procedure proc_group@课程类别 carchar(20),@平均学分 int output         --设置带返回值的参数as select @平均学分=avg(学分) from course where 课程类别=@课程类别





原创粉丝点击