【问题标题】:How to check if sproc returns no results如何检查 sproc 是否没有返回结果
【发布时间】:2013-02-21 16:17:25
【问题描述】:

我有一个存储过程,它接受部门名称并以 int 的形式返回部门 ID。我正在尝试使用该过程来确定具有指定名称的部门是否已经存在。我怎样才能做到这一点?如果 sproc 没有返回任何结果,那么它所代表的值是什么?它是空的吗?我是否应该使用单独的 sproc 来确定部门是否已经存在?这是我当前的存储过程:

    @Department_Name varchar(100),
    @Id int OUTPUT
AS
    SET NOCOUNT ON
SELECT @Id = Id FROM Department
WHERE Name = @Department_Name
    RETURN @Id

【问题讨论】:

    标签: asp.net sql stored-procedures


    【解决方案1】:

    “将结果集或数据从过程返回到调用程序有两种方式:输出参数和返回码”

    Return Data from a Stored Procedure

    Stored Procedures - Output Parameters & Return Values

    【讨论】:

      【解决方案2】:

      可以在存储过程中使用返回值来提供 调用程序的存储过程执行状态。回报 值 -99 到 0 保留供 SQL Server 内部使用。你可以 创建您自己的参数,这些参数可以传递回调用方 程序。默认情况下,成功执行一个存储过程 (或任何一组 SQL 语句)将返回 0。

      您可以返回一些值来表明您的 @Id 为空。 以及如何在 ASP 中获取从 SP 返回的值,您可以在此处阅读: http://www.4guysfromrolla.com/webtech/tips/t100901-1.shtml 或者你可以参考这个答案:https://stackoverflow.com/a/2342862/1048105

      【讨论】:

        猜你喜欢
        • 2016-07-23
        • 2021-09-12
        • 1970-01-01
        • 2023-04-10
        • 2011-02-21
        • 2010-09-22
        • 2020-11-13
        • 1970-01-01
        相关资源
        最近更新 更多