电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

RETURN


发布日期:2021/2/9
 

RETURN

从查询或过程中无条件退出RETURN 即时且完全可在任何时候用于从过程批处理或语句块中退出不执行位于 RETURN 之后的语句

语法

RETURN [ integer_expression ]

参数

integer_expression

是返回的整型值存储过程可以给调用过程或应用程序返回整型值

返回类型

可以选择是否返回 int

说明 除非特别指明所有系统存储过程返回 值表示成功返回非零值则表示失败

注释

当用于存储过程时RETURN 不能返回空值如果过程试图返回空值(例如使用 RETURN @status 且 @status 是 NULL)将生成警告信息并返回

在执行当前过程的批处理或过程内可以在后续 TransactSQL 语句中包含返回状态值但必须以下列格式输入

EXECUTE @return_status = procedure_name

说明 Microsoft® SQL Server&#; 是将空字符串 (NULL) 解释为单个空格还是真正的空字符串取决于兼容级别设置如果兼容级别小于或等于 SQL Server 就将空字符串解释为单个空格如果兼容级别等于 则 SQL Server 将空字符串解释为空字符串有关更多信息请参见 sp_dbcmptlevel

示例

A 从过程返回

下例显示如果在执行 findjobs 时没有给出用户名作为参数RETURN 则将一条消息发送到用户的屏幕上然后从过程中退出如果给出用户名将从适当的系统表中检索由该用户在当前数据库内创建的所有对象名

CREATE PROCEDURE findjobs @nm sysname = NULL

AS

IF @nm IS NULL

BEGIN

PRINT You must give a username

RETURN

END

ELSE

BEGIN

SELECT oname oid ouid

FROM sysobjects o INNER JOIN mastersyslogins l

ON ouid = lsid

WHERE lname = @nm

END

B 返回状态代码

下例检查指定作者所在州的 ID如果所在的州是加利福尼亚州 (CA)将返回状态代码 否则对于任何其它情况(state 的值是 CA 以外的值或者 au_id 没有匹配的行)将返回状态代码

CREATE PROCEDURE checkstate @param varchar()

AS

IF (SELECT state FROM authors WHERE au_id = @param) = CA

RETURN

ELSE

RETURN

下例显示从 checkstate 执行中返回的状态第一个显示的是在加利福尼亚州的作者第二个显示的是不在加利福尼亚州的作者第三个显示的是无效的作者必须先声明 @return_status 局部变量后才能使用它

DECLARE @return_status int

EXEC @return_status = checkstate

SELECT Return Status = @return_status

GO

下面是结果集

Return Status

再执行一次查询指定一个不同的作者编号

DECLARE @return_status int

EXEC @return_status = checkstate

SELECT Return Status = @return_status

GO

下面是结果集

Return Status

再执行一次查询指定另一个作者编号

DECLARE @return_status int

EXEC @return_status = checkstate

SELECT Return Status = @return_status

GO

下面是结果集

Return Status

上一篇:Windows7系统开启AHCI提升硬盘性能

下一篇:Windows7自带的屏幕录制功能