报表查询用临时表返回不了数据集

declare @sql varchar(200)

drop table #tmp

create table #tmp(

        id int

)

set @sql = 'insert into #tmp select 2'

exec (@sql)

--select 1 as aa

select *from (select * from #tmp union

select 1 

) as aa

image.png

FineReport 用户C3128821 发布于 2022-5-25 08:37
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
1
CD20160914Lv8专家互助
发布于2022-5-25 08:45

可能是因为您创建的临时表与查询的临时表的数据不在同一个会话中即没有在数据集端定义存储过程,导致数据无法共享;创建和查询的临时表已经在同一会话中,但是在调用前后没有加SET NOCOUNT ONSET NOCOUNT OFF

SET NOCOUNT ON/*开始的*/

declare @sql varchar(200)

drop table #tmp

create table #tmp(

        id int

)

set @sql = 'insert into #tmp select 2'

exec (@sql)

--select 1 as aa

select *from (select * from #tmp union

select 1 

) as aa

SET NOCOUNT OFF/*结束的也要加上*/

最佳回答
1
Z4u3z1Lv6专家互助
发布于2022-5-25 08:39(编辑于 2022-5-25 08:40)

在最前面加上SET NOCOUNT ON 试试 。要不你就改成存储过程。好像SQL数据集不能用除select外的否则都不会返回数据集

  • 2关注人数
  • 456浏览人数
  • 最后回答于:2022-5-25 08:45
    请选择关闭问题的原因
    确定 取消
    返回顶部