【发布时间】:2019-09-12 03:37:28
【问题描述】:
临时表的概念存在于许多数据库中。是否有计划支持 YugaByte DB SQL 集群中的临时表?
【问题讨论】:
标签: database distributed-database yugabyte-db
临时表的概念存在于许多数据库中。是否有计划支持 YugaByte DB SQL 集群中的临时表?
【问题讨论】:
标签: database distributed-database yugabyte-db
YSQL 从 v1.2.4 (https://docs.yugabyte.com/latest/releases/) 版本开始支持临时表。
您可以使用语法CREATE TEMP TABLE table_name ... 创建一个临时表。 YSQL 中的临时表仅对创建它的会话可见,并在该会话终止时被删除。
您可以在事务块末尾更改临时表的行为
YSQL 使用 ON COMMIT 子句。可用选项为PRESERVE ROWS(默认设置)、DELETE ROWS 和DROP。
一个例子:
CREATE TEMP TABLE test (number int) ON COMMIT DELETE ROWS;
BEGIN;
INSERT INTO test VALUES (1);
COMMIT; -- all rows in test are deleted on commit
SELECT * FROM test;
number
--------
(0 rows)
【讨论】: