You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure SQL数据仓库插入临时表时遇EXEC解析错误求助

解决Azure SQL数据仓库动态SQL插入临时表的语法错误

你的代码存在两处语法问题:

  1. 执行动态SQL变量时,EXEC后必须用括号包裹带@前缀的变量,你写的EXEC SQL2不符合语法规范,正确写法是EXEC (@SQL2)
  2. 代码末尾的***属于无效多余字符,必须删除

修正后的完整代码如下:

DECLARE @SQL2 NVARCHAR(1000)
CREATE TABLE #TempTable (L NVARCHAR(100))
SET @SQL2 = 'SELECT Col1 FROM Table1'
INSERT INTO #TempTable (L) EXEC (@SQL2)

如果使用表变量,同样要遵循EXEC的语法规则,示例代码:

DECLARE @T TABLE (ID INT)
DECLARE @SQL NVARCHAR(1000) = 'SELECT ID FROM SomeTable'
INSERT INTO @T (ID) EXEC (@SQL)

额外注意Azure SQL数据仓库的临时表特性:

  • 本地临时表(以#开头)仅在当前会话中可见,会话结束后会自动销毁
  • 动态SQL插入外部创建的临时表时,需确保会话上下文一致,避免作用域问题

内容的提问来源于stack exchange,提问作者Neha Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 20:11:09