请教:存储过程中,通过SelectInto创建的临时表用exec命令无法取到

brusehht 2005-08-16 05:15:57
我的测试存储过程如下,主要是想通过传入表名的方式把信息加入到一张临时表中,然后再进行进一步的运算,当然这里只是一个测试,没有什么特殊的用途,但这个存储过程运行以后,老师告诉我#temp不存在,也就是说临时表不存在,大家帮我看看是什么原因:
CREATE PROCEDURE MyReport_Test
@Dept varchar(255)

AS
begin
declare @sql1 nvarchar(1000) --生成的sql语句
declare @sql2 nvarchar(1000) --生成的sql语句
set @sql1='select * into #temp From '+@Dept
set @sql2='select * From #temp'
exec sp_executesql @sql1
exec sp_executesql @sql2
end
GO
...全文
195 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
子陌红尘 2005-08-16
  • 打赏
  • 举报
回复
CREATE PROCEDURE MyReport_Test
@Dept varchar(255)

AS
begin
declare @sql nvarchar(4000) --生成的sql语句
set @sql='select * into #temp From '+@Dept
set @sql=@sql + ' select * From #temp'
exec sp_executesql @sql
end
GO
520zyb 2005-08-16
  • 打赏
  • 举报
回复
改成用全局临时表:
begin
declare @sql1 nvarchar(1000) --生成的sql语句
declare @sql2 nvarchar(1000) --生成的sql语句
set @sql1='select * into ##temp From '+@Dept
set @sql2='select * From ##temp'
exec sp_executesql @sql1
exec sp_executesql @sql2
end

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧