我试图运行sp_executesql
,但我不想在结果集中显示结果,我不能使用变量,因为我的存储过程调用不同的数据源。所以我不能创建单个表,我该怎么办?有什么建议吗?
--INSERT INTO #TEMP this what i want but didn't work i know
EXECUTE sp_executesql @SQL, N'@ENTITYID INT,@REPORTINGDATE DATE,@PREVIOUSREPORTINGDATE DATE',
@ENTITYID ,@REPORTINGDATE ,@PREVIOUSREPORTINGDATE
SET @tempSQL = 'SELECT '+@Select+' INTO #TEMP FROM ##TEMP '+@GROUPBY+' DROP TABLE ##TEMP '
这不是为我工作SET NOEXEC ON
,因为它只是编译不执行,在我的查询我使用##temp
。
这是我的查询
select A , B , SUM(C)
into ##temp
FROM
#tempp
GROUP BY
A , B
select * from ##temp
在这里输入图像描述不需要第一个结果集
你可以在你的过程中添加@debug这样的参数,只有当你执行了@debug =1的过程
我的意思是你的程序应该是这样的:
ALTER PROCEDURE [dbo].[History]
(
@Id_user NVARCHAR(450),
@debug int
)
AS
BEGIN
SET NOCOUNT ON
begin tran az
if(@debug) =1
begin
select 'A', 'B' from yourtable where id = @Id_user
end
commit tran az
END
和执行过程与debug = 0
将不会显示您的选择。
DECLARE @return_value int
EXEC @return_value = [dbo].[History]
@Id_user = '122',
@debug =0
之后你可以这样处理你的数据:
DECLARE @tempTable TABLE(
ID_user VARCHAR(100)
)
INSERT INTO @tempTable
EXEC @return_value = [dbo].[History]
@Id_user = '122',
@debug =0
select * from @tempTable