2条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏
匿名用户postgreSQL有类似sql 的公共临时表吗?
有的,PostgreSQL 支持类似 SQL 的公共临时表(也称为共享临时表),它们被称为 "临时视图"(Temporary Views)。公共临时表允许多个会话或用户共享它们,并且通常在一个特定的事务内被创建并使用。当事务结束时,临时表自动删除。
要创建一个公共临时表并在其中插入数据,则可以使用以下语法:
复制代码
CREATE TEMPORARY TABLE temp_table_name AS SELECT column1, column2, ... FROM source_table WHERE condition;
通过此方法创建的临时表将对所有连接到数据库的用户和会话可见。如果您希望将其限制为当前会话,可以使用 SESSION 关键字:
复制代码
CREATE TEMPORARY TABLE temp_table_name (column1 datatype, column2 datatype, ...) ON COMMIT DROP AS VALUES ('value1', 'value2'), ('value3', 'value4'), ...; 需要注意的是,默认情况下,临时表在当前会话的事务结束时被删除。然而,您也可以使用 ON COMMIT PRESERVE ROWS 或 ON COMMIT DELETE ROWS 子句来指定在结束整个事务时保留还是删除临时表: ON COMMIT PRESERVE ROWS:保存临时表的行,直到结束整个事务。 ON COMMIT DELETE ROWS:在结束整个事务时删除临时表(这是默认行为)。 具体使用哪种还要根据实际需求来决定。
评论
有用 0
墨值悬赏