首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >T-SQL从动态SQL插入到临时表中

T-SQL从动态SQL插入到临时表中
EN

Stack Overflow用户
提问于 2015-09-18 02:03:31
回答 1查看 359关注 0票数 0

这是在SQL Server 2008上运行的,但数据库处于SQL Server 2000兼容模式(这一点我无法更改)。

在存储过程开始时创建一个临时表,然后通过动态生成的EXEC语句将其插入到其中。即使临时表(据我所知,应该是临时表)不在执行范围内,如何才能成功执行这些语句,或者在存储过程中执行这些语句时会暂时绕过临时表吗?

示例如下:

代码语言:javascript
复制
CREATE PROCEDURE myProc (Param1 int....)
AS
BEGIN
   Declare @SQL varchar(max) = null

   Create table #tempTable 
   (
       ID int,
       Code1 varchar(255),
       ...
   )

   SET @SQL = 'insert into #tempTable '
              + ...
   EXEC(@SQL)

   Select * from #tempTable
END

任何帮助理解这一点的人都将不胜感激!

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2015-09-18 02:06:02

简而言之:在外部批处理中创建的临时表可以在动态SQL中访问,但反之亦然。

See doc

在存储过程完成时自动删除在该存储过程中创建的本地临时表。创建表的存储过程执行的任何嵌套存储过程都可以引用该表。调用创建表的存储过程的进程无法引用该表。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32637074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档