Sql 存储过程不会返回结果
我已经编写了这样一个存储过程,它必须返回一个结果,但它没有这样做。它只返回存储过程成功运行的消息 我应该如何更改SPSql 存储过程不会返回结果,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
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实现什么,但如果您对结果感兴趣,则必须使用输出参数,或者您可能会考虑存储的函数或视图。这取决于你的目标。。。