gpt4 book ai didi

postgresql - 公共(public)表表达式,PostgreSQL 中的 WITH 子句;错误 : relation "stkpos" does not exist

转载 作者:行者123 更新时间:2023-11-29 13:02:51 25 4
gpt4 key购买 nike

例如下面是我的查询

WITH stkpos as (
select * from mytbl
),
updt as (
update stkpos set field=(select sum(fieldn) from stkpos)
)
select * from stkpos

ERROR: relation "stkpos" does not exist

最佳答案

与 MS-SQL 和其他一些数据库不同,PostgreSQL 的 CTE 术语不被视为 View 。它们更像是一个隐式临时表 - 它们被具体化,规划者无法将过滤器向下插入其中或从中拉出过滤器,等等。

这样做的一个后果是您无法更新它们,因为它们是原始数据的副本,而不仅仅是原始数据的 View 。你需要找到另一种方法来做你想做的事。

如果你需要这方面的帮助,你需要发布一个新问题,其中有一个清晰且独立的示例(使用 create table 语句等)显示你的真实问题的简化版本.足以让我们真正了解您要完成的任务以及原因。

关于postgresql - 公共(public)表表达式,PostgreSQL 中的 WITH 子句;错误 : relation "stkpos" does not exist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24052356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com