sql-server - 存储过程的输出参数

标签 sql-server t-sql stored-procedures

我正在尝试将值写入输出参数。在我的 THEN 语句中,我想将 outParam 返回为 1 或 0,但不确定如何修改以下语句来执行此操作。有人可以帮忙吗?谢谢!

CREATE PROCEDURE [dbo].[myProc] 
     @var1 UNIQUEIDENTIFIER, 
     @outParam BIT OUTPUT
AS
    SELECT 
        CASE
           WHEN EXISTS (SELECT 1
                        FROM [Table1] AS [i]
                        WHERE (CONVERT(VARCHAR(36), [i].[var1]) = @var1) 
                          AND ([i].[BitColumn] = 1))
              THEN CAST(1 AS BIT) 
              ELSE CAST(0 AS BIT)
        END
GO

最佳答案

你离我们如此之近!只需设置即可开始。

CREATE PROCEDURE [dbo].[myProc] @var1 uniqueidentifier, 
@outParam bit OUTPUT
AS
SELECT @outParam = CASE
    WHEN EXISTS (
        SELECT 1
        FROM [Table1] AS [i]
        WHERE (CONVERT(VARCHAR(36), [i].[var1]) = @var1) AND ([i].[BitColumn] = 1))
    THEN CAST(1 AS BIT) ELSE CAST(0 AS BIT)
    END;
GO

关于sql-server - 存储过程的输出参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57580552/

相关文章:

sql - 与聚合交叉应用

sql-server - SQL Server : splitting a row into multiple rows from OUTPUT clause

sql - SEDE 的 DAYOFWEEK 函数?

sql - 如何获取 SQL Server 中给定一天的日期范围之间的日期

MySQL 5.1 存储过程错误 - 声明变量

c# - 从对象中获取长值的最佳方法?

sql-server - 从 Excel 导入到 SQL Server 2005 时出现截断错误

sql-server - CASE 语句 - 将数据类型 nvarchar 转换为数字时出错

sql-server - SSRS - 在一个存储过程中返回多个查询

mysql - MySQL 有基于时间的触发器吗?