sql-server - 如何从存储过程返回bool

标签 sql-server stored-procedures

我正在尝试弄清楚如何编写一个返回 bool 值的存储过程。我开始编写以下返回 int 的代码。

USE [Database]
GO
/****** Object:  StoredProcedure [dbo].[ReturnInt]    Script Date: 09/30/2010 09:31:11 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[ReturnInt]  AS
RETURN 3

但是我不确定如何编写一个返回 bool 值的代码。

有人可以帮忙吗?有点值吗?

最佳答案

你不能。没有 bool 数据类型,过程返回码只能是 int。不过,您可以返回一个作为输出参数。

CREATE PROCEDURE [dbo].[ReturnBit] 
@bit BIT OUTPUT
AS
    BEGIN
    SET @bit = 1
    END

并调用它

DECLARE @B BIT
EXEC [dbo].[ReturnBit] @B OUTPUT
SELECT @B

关于sql-server - 如何从存储过程返回bool,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3825620/

相关文章:

sql-server - 如何使用 SQL Server 使用 ETL 存储过程提取数据

asp.net - 如何通过 FORM 从 ASP.Net MVC 堆栈调用存储过程并在 json 中返回它们?

mysql - MariaDB/MySQL 中 CREATE PROCEDURE 中的神秘错误

sql-server - 为什么我们不能在 SQL Server 的函数内执行存储过程

c# - 在事务中调用多个 SQL Server 存储过程

sql-server - 关于综合指数的建议

sql - 来自三个表的一个更新 SQL 查询

sql - 如何按派生列分组

sql - 连接 Varchar 和 int

stored-procedures - 网络矩阵和存储过程