存储过程不会返回结果

时间:2015-09-29 08:52:56

标签: sql sql-server stored-procedures sql-server-2012

我已经编写了这样一个存储过程,它必须返回一个结果,但它不会这样做。它只返回存储过程成功运行的消息。

我该如何更改我的SP?

CREATE PROCEDURE TestTVP 
(
@param1 int, 
@param2 int,
@a int OUTPUT
)
as
  SET NOCOUNT ON 
  DECLARE @T1 as TABLE
 (
   PK INT IDENTITY NOT NULL,
   Wert INTEGER,
   Name INTEGER
 )
 INSERT INTO @T1(Wert,Name) VALUES (@param1,@param2) 
 return select count(*) from @T1

 GO


exec TestTVP '1','22' 

2 个答案:

答案 0 :(得分:2)

您必须传递OUTPUT参数

declare @z int
exec TestTVP '1','22' ,@z output

并从存储过程中删除return仅限

...
select count(*) from @T1

答案 1 :(得分:0)

如果您想要输出,可以使用out参数:

DECLARE @Z int
EXEC TestTVP '2', '22',@z out