考虑以下存储过程:
create procedure [dbo].[MyTest] ( @p_SqlStatement nvarchar(max) )
as
begin
exec sp_executesql @p_SqlStatement
if @@ROWCOUNT = 1
begin
select 1;
end
else if @@ROWCOUNT <> 1
begin
select 0;
end
end
此存储过程当前返回 2 个数据集,一个包含exec sp_executesql @p_SqlStatement
数据,另一个为 1 或 0。有没有办法抑制第一个数据集?我的意思是,这个存储过程是否有可能只返回 1 或 0 ?
我尝试在 catch 块RAISERROR( 'MyError', 18, 1 )
之后添加一个权利exec sp_executesql @p_SqlStatement
,然后在 catch 块中选择其他内容,但第一个结果集总是返回给我的存储过程调用者......