【问题标题】:syntax error at or near "INSERT" when creating a temp table and insert into a subquery--PostgreSQL Error创建临时表并插入子查询时在“INSERT”处或附近出现语法错误--PostgreSQL 错误
【发布时间】:2022-01-27 20:34:33
【问题描述】:

我创建了一个临时表和insert into 一个子查询,但我收到一条错误消息,提示“在“插入”处或附近出现语法错误”。任何人都可以有想法吗?谢谢!

CREATE TABLE population_vaccinated2 
(
    continent VARCHAR(200),
    location VARCHAR(200),
    date DATE,
    population INT,
    new_vaccinations NUMERIC,
    aggre_vaccinations NUMERIC
)

INSERT INTO population_vaccinated2
    SELECT 
        dea.continent, dea.location, dea.date, dea.population, 
        vac.new_vaccinations,
        SUM(vac.new_vaccinations) OVER (PARTITION BY dea.location ORDER BY dea.location, dea.date) AS aggre_vaccinations 
    FROM 
        covid_deaths AS dea
    JOIN 
        covid_vaccinations AS vac ON dea.location = vac.location
                                  AND dea.date = vac.date

【问题讨论】:

  • 你试过用;终止你的陈述
  • 是的。我加 ;在 dea.date=vac.date 结束时仍然显示相同的错误
  • 你需要终止every语句——create table语句也不例外。
  • 谢谢!我成功了!

标签: sql postgresql sql-insert temp-tables


【解决方案1】:

请注意,CREATE TABLEINSERT INTO两个不同的语句。你需要在它们之间插入一个;

...
)
;
INSERT INTO ...

我创建了一个临时表

请注意,这不是临时表,因为您缺少 TEMPORARY 关键字。

【讨论】:

  • 非常感谢!我做到了:)
  • 很高兴能帮上忙。如果我的回答对您有用,您可以将其设置为“已接受”,以便其他人知道它有效。
  • 我设置好了。对不起,我是超级新手,对规则不太了解:)
猜你喜欢
  • 2021-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-05
  • 1970-01-01
  • 1970-01-01
  • 2020-12-26
  • 1970-01-01
相关资源
最近更新 更多