sqlserver 2008 关于存储过程中的临时表。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver 2008 关于存储过程中的临时表。相关的知识,希望对你有一定的参考价值。
在存储过程中如果我使用select a,b,c into #abc from abc创建临时表 在存储过程后面写 select 或者drop语句操作临时表都没有问题。
现在我在存储过程中把sql语句拼接好后放在变量中set @sql = 'select a,b,c into #abc from abc' 然后使用exec(@sql)执行后 再在存储过程后面使用select或drop 语句操作临时表#abc的时候就提示找不到临时表。 这种该怎么处理比较好? 如果前面直接使用create来创建临时表#abc就不会出现这类问题。
存储过程中创建临时表:select 列1,列2, 列3 INTO #临时表 FROM 表名
这样创建的临时表 在存储过程后面可以直接使用:select * from #临时表 或:drop table #临时表
可对临时表操作 这样是正常的
但如果我们在存储过程中把创建临时表换个方式创建:
declare @sql varchar(255)
set @sql = 'SELECT 列1, 列2, 列3 INTO #临时表 FROM 表名'
exec (@sql)
这样执行完成后也会生成#临时表
但是在存储过程中使用:SELECT * FROM #临时表 却提示找不到对象#临时表
可以考虑全局临时表##临时表 参考技术A 没听明白,能说的具体点吗?
以上是关于sqlserver 2008 关于存储过程中的临时表。的主要内容,如果未能解决你的问题,请参考以下文章
如何返回sqlserver 中存储过程的select的结果集