我想从一个执行路径通过一个临时表到另一个嵌套在侧它传递临时表从一个执行到另一个
我曾尝试是这样的:
DECLARE @SQLQuery AS NVARCHAR(MAX)
SET @SQLQuery = '
--populate #tempTable with values
EXECUTE('SELECT TOP (100) * FROM ' + tempdb..#tempTable)
EXECUTE sp_executesql @SQLQuery
但它失败与此错误消息:
附近有语法错误的tempdb'
在执行上下文之间传递临时表是否有其他更好的方法?
我会在几乎所有情况下避免全局临时表。他们有一些常常被忽视的严重问题。它们可用于任何连接,因此并发性是一场噩梦。 –
我把这个问题看成是“我想把临时表从一个执行路径传递给另一个执行路径”,并且没有看到下一个短语“嵌套在里面”。对于不同上下文中的不同执行路径,很少有选项可用,而全局临时表是保存中间聚合数据以供其他调用者以后使用的良好解决方案。如果一切都在同一个查询会话中,完全同意 - 我不会使用全局临时表。 – Cahit
在SQL作业中创建全局临时表如何更安全? –