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 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)
临时表的概念存在于许多数据库中。是否有计划在 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 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)