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

如何在Azure Data Studio中操作PostgreSQL临时表并解决SELECT INTO报错

问题原因

Azure PostgreSQL的运行规则会拦截歧义语法:SELECT ... INTO 在PostgreSQL中存在两种语义,一是在标准SQL上下文创建新表,二是在PL/pgSQL代码块中给变量赋值,为了避免非预期操作,默认会禁止未明确指定表类型的SELECT ... INTO创建表语句,就会触发你遇到的报错:

SELECT ... INTO is not allowed here

解决方案

方案1:使用兼容性更高的CREATE TABLE AS语法(推荐)

该语法没有歧义,在所有PostgreSQL运行环境中都可以正常执行,创建临时表的写法如下:

CREATE TEMP TABLE temptable AS
SELECT * FROM act_hi_taskinst;

如果需要创建永久表,去掉语句中的TEMP关键字即可。

方案2:保留SELECT INTO语法,明确指定表类型

在语句中添加TEMP TABLE声明,消除语法歧义即可通过校验:

SELECT * INTO TEMP TABLE temptable FROM act_hi_taskinst;

注意事项

  • 加TEMP关键字创建的表为会话级临时表,仅当前数据库连接会话可见,会话断开后会自动删除,符合临时表的常规使用需求。
  • 执行建表操作前请确认当前数据库账号拥有对应 schema 的建表权限。

内容的提问来源于stack exchange,提问作者Henrique Mauri

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 04:27:05