exec('selectIDENTITY(int,1,1) as ID,fnum,into #yuecu from store_store where '+@Parameter)
select XX,XX1,XX2 from #yuecu
这样创建一个临时表以后我再想从临时表中取数据提示对象名#yuecu 无效,晕,如果我不是使用exec()执行sql语句的话就没有任何问题,WHY?
临时表有作用域的,上面的临时表只在EXEC內部有效。
解决办法:
改用全局临时表
exec('selectIDENTITY(int,1,1) as ID,fnum,into ##yuecu from store_store where '+@Parameter)
select * from ##yuecu
select * from ##yuecu
本文探讨了在SQL中使用exec执行动态SQL创建局部临时表(#表名)时遇到的作用域问题,即在exec外部无法访问该临时表。文章提供了将局部临时表改为全局临时表(##表名)的解决方案,并附带示例代码。
2015

被折叠的 条评论
为什么被折叠?



