大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > ASP.NET技巧 > SQL存储过程详细基础入门

SQL存储过程详细基础入门(2)

关键词:SQL存储过程详细基础入门  阅读(2980) 赞(32)

[摘要]本文是SQL存储过程详细基础入门教程,从存储过程的基本概念讲起,再讲到存储过程的实现和管理,步步深入,让您更好地理解SQL存储过程。

例如创建参数带默认值的存储过程loving20,该存储过程能够查询course表。SQL语句如下。

--创建存储过程
USE db_student
CREATE PROCEDURE loving20
@课程类别 varchar(20)='歌曲类', --对参数设置默值
@学分 int=6
AS
Select *
from course
where 课程类别= @课程类别 and 学分>@学分

示例:执行参数带默认值的存储过程

执行loving20存储过程,对@学分参数赋值,@课程类别用默认值。SQL语句如下。

USE db_student
exec loving20 @学分=8

运行的结果如图所示。

执行loving20存储过程还可以用下面的语句。

例如查询课程类别是“娱乐类”的,学分用默认值。SQL语句如下。

USE db_student
exec loving20 @课程类别='娱乐类'
例如执行loving20存储过程,都采用默认值的。SQL语句如下。
USE db_student
exec loving20

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

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

@a int OUTPUT

其中textImage等大于二进制数据类型的参数不能作为OUTPUT参数,在调用存储过程时,不必为返回参数赋值。

例如创建带返回参数的存储过程loving30,对course表求得某一课程类别的平均学分。SQL语句如下。

--创建带返回值的存储过程
CREATE PROCEDURE loving30
@课程类别 varchar(20),
@平均学分 int OUTPUT --设置带返回值的参数
AS
select @平均学分=avg(学分)
from course
where 课程类别=@课程类别

示例:执行存储过程带返回参数的

执行存储过程loving30。求课程类别是“歌曲类”的平均学分。SQL语句如下。

--执行存储过程
DECLARE @平均学分 int --自定义变量
EXEC loving30 '歌曲类',@平均学分 output --调用存储过程
if @平均学分>=9 --利用存储过程的返回值进行判断
PRINT rtrim(@平均学分)+' 最高学分'
if @平均学分>=7
PRINT rtrim(@平均学分)+' 较高学分'
if @平均学分<=6
PRINT rtrim(@平均学分)+' 较低学分'

运行的结果如图所示。

创建带返回值的存储过程

在存储过程中使用返回值,可以在执行存储过程时返回相应的信息,用户可以根据该信息判断存储过程是否执行成功。

1.存储过程的反馈语句

1Print语句

将用户定义的消息返回给客户端。Print语句接受任何字符串表达式,包括字符或Unicode常量、字符或Unicode局部变量名,返回字符或Unicode字符串的一个函数。在SQL Server中,Print可以接受多个常量、局部变量或函数串联起来所生成的复杂字符串。



相关评论