YugaByte DB 中的临时表

Temporary tables in YugaByte DB

临时表的概念存在于许多数据库中。是否有计划在 YugaByte DB SQL 集群中支持临时表?

自 v1.2.4 (https://docs.yugabyte.com/latest/releases/) 版本以来,YSQL 支持临时 tables。

您可以使用语法 CREATE TEMP TABLE table_name ... 创建临时 table。 YSQL 中的临时 table 仅对创建它的会话可见,并在该会话终止时被删除。

您可以在事务块的末尾更改临时 tables 的行为 YSQL 使用 ON COMMIT 子句。可用的选项是 PRESERVE ROWS(这是默认设置)、DELETE ROWSDROP
一个例子:

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)