RETURN

RETURN

  RETURN

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

  

  语法

  RETURN [ integer_expression ]

  

  参数

  integer_expression

  

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

  

  返回类型

  可以选择是否返回 int

  

  

  

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

  

  

  注释

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

  

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

  

  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 o name o id o uid

   FROM sysobjects o INNER JOIN master syslogins l

   ON o uid = l sid

   WHERE l name = @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

  

  

RETURN

相关文章:

你感兴趣的文章:

标签云: