Sql server 如何从存储过程返回ID数组?
我有一个存储过程,根据Sql server 如何从存储过程返回ID数组?,sql-server,stored-procedures,Sql Server,Stored Procedures,我有一个存储过程,根据SELECT查询的结果,它应该返回一个id数组。如何在SQL Server中执行此操作 以下是我的存储过程: ALTER PROCEDURE [dbo].[PS_testGar] @CODE_B, @ids OUTPUT AS BEGIN SELECT @ids = code_gar FROM [dbo].[GARANTIE] WHERE CODE_B= @CODE_B END 这里不需要输出参数。这就是您的过程应该是什么样子
SELECT
查询的结果,它应该返回一个id数组。如何在SQL Server中执行此操作
以下是我的存储过程:
ALTER PROCEDURE [dbo].[PS_testGar]
@CODE_B,
@ids OUTPUT
AS
BEGIN
SELECT @ids = code_gar
FROM [dbo].[GARANTIE]
WHERE CODE_B= @CODE_B
END
这里不需要输出参数。这就是您的过程应该是什么样子
ALTER PROCEDURE [dbo].[PS_testGar]
(
@CODE_B int --or whatever your datatype is
) AS
BEGIN
SET NOCOUNT ON;
SELECT code_gar
FROM [dbo].[GARANTIE]
WHERE CODE_B = @CODE_B
END
删除“@ids=”命令。SQL Server将以本机方式返回ID列表。你打算用什么语言来调用它?你真的需要一个输出参数吗?如果是这样,您将需要一个用户定义的表类型。更简单的方法是在过程中使用select语句,并将其作为结果集。@Jeremy我将从WCF服务调用它。我删除了“@ids=”,我应该如何声明输出参数?我不会为此使用输出参数。这比需要的要复杂得多。请阅读我发送给您的文档链接。有许多.NET技术可用于从sql server读取数据。如何处理调用此SP的我的wcf服务的结果集?您可以使用ExecuteReader。看看Jeremy在上面评论中发布的链接。它提供了几个例子。