Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 存储过程不会返回结果_Sql_Sql Server_Stored Procedures_Sql Server 2012 - Fatal编程技术网

Sql 存储过程不会返回结果

Sql 存储过程不会返回结果,sql,sql-server,stored-procedures,sql-server-2012,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

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

我应该如何更改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' 

您必须传递
输出
参数

declare @z int
exec TestTVP '1','22' ,@z output
并从存储过程中删除
return
,使其仅为

...
select count(*) from @T1

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

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

您没有捕获返回的
结果。是否确实要返回它而不仅仅是选择?不知道您希望使用此SP实现什么,但如果您对结果感兴趣,则必须使用输出参数,或者您可能会考虑存储的函数或视图。这取决于你的目标。。。