Sql server T-SQL从动态SQL插入临时表
这在SQL Server 2008上运行,但数据库处于SQL Server 2000兼容模式(我无法更改) 在存储过程的开头创建一个临时表,然后通过动态生成的SQL中的Sql server T-SQL从动态SQL插入临时表,sql-server,sql-server-2008,Sql Server,Sql Server 2008,这在SQL Server 2008上运行,但数据库处于SQL Server 2000兼容模式(我无法更改) 在存储过程的开头创建一个临时表,然后通过动态生成的SQL中的EXEC语句插入。即使临时表(据我所知,应该是)不在执行范围内,这是如何成功执行的,还是在存储过程中执行这些语句时,临时表会被暂时忽略 示例如下: CREATE PROCEDURE myProc (Param1 int....) AS BEGIN Declare @SQL varchar(max) = null Cr
EXEC
语句插入。即使临时表(据我所知,应该是)不在执行范围内,这是如何成功执行的,还是在存储过程中执行这些语句时,临时表会被暂时忽略
示例如下:
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
任何有助于理解这一点的人都将不胜感激
谢谢 很快:
在外部批处理中创建的临时表可以在动态SQL中访问,但反之亦然
将删除在存储过程中创建的本地临时表
当存储过程完成时自动执行表格可以是
由存储程序执行的任何嵌套存储过程引用
创建表的过程。无法引用该表
调用创建表的存储过程的进程。
很快:
在外部批处理中创建的临时表可以在动态SQL中访问,但反之亦然
将删除在存储过程中创建的本地临时表
当存储过程完成时自动执行表格可以是
由存储程序执行的任何嵌套存储过程引用
创建表的过程。无法引用该表
调用创建表的存储过程的进程。
很快:
在外部批处理中创建的临时表可以在动态SQL中访问,但反之亦然
将删除在存储过程中创建的本地临时表
当存储过程完成时自动执行表格可以是
由存储程序执行的任何嵌套存储过程引用
创建表的过程。无法引用该表
调用创建表的存储过程的进程。
很快:
在外部批处理中创建的临时表可以在动态SQL中访问,但反之亦然
将删除在存储过程中创建的本地临时表
当存储过程完成时自动执行表格可以是
由存储程序执行的任何嵌套存储过程引用
创建表的过程。无法引用该表
调用创建表的存储过程的进程。
临时表具有动态范围,而不是词法范围。临时表具有动态范围,而不是词法范围。临时表具有动态范围,而不是词法范围。临时表具有动态范围,而不是词法范围。