开发者社区> 问答> 正文

存储过程中return关键字的实际目的是什么?

在第一个存储过程代码中,我没有Return在代码末尾提到关键字,但仍然得到结果集作为存储过程返回的输出。

但是在第二个示例示例代码(来自Microsoft网站)中,Return在代码末尾提到了关键字。我对何时Return在存储过程中使用关键字感到困惑,因为在第一个没有Return单词的代码中我得到了结果。

CREATE PROCEDURE uspProductList
AS
BEGIN
    SELECT 
        product_name, 
        list_price
    FROM 
        production.products
    ORDER BY 
        product_name;
END;
USE AdventureWorks2012;  
GO  

IF OBJECT_ID('Sales.uspGetEmployeeSalesYTD', 'P') IS NOT NULL  
   DROP PROCEDURE Sales.uspGetEmployeeSalesYTD;  
GO  

CREATE PROCEDURE Sales.uspGetEmployeeSalesYTD  
AS    
   SET NOCOUNT ON;  

   SELECT LastName, SalesYTD  
   FROM Sales.SalesPerson AS sp  
   JOIN HumanResources.vEmployee AS e ON e.BusinessEntityID = sp.BusinessEntityID  

   RETURN  
GO

展开
收起
祖安文状元 2020-01-05 14:04:24 677 0
1 条回答
写回答
取消 提交回答
  • SQL Server RETURN设计用于向调用方指示用户定义的成功/失败代码。

    您的两个过程都返回0(默认值)。

    尝试:

    DECLARE @return_status int;  
    EXEC @return_status = uspProductList; 
    SELECT @return_status;  -- 0
    
    2020-01-05 14:04:32
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载