📜  PostgreSQL – 临时表

📅  最后修改于: 2022-05-13 01:57:15.032000             🧑  作者: Mango

PostgreSQL – 临时表

顾名思义,临时表是在数据库会话期间存在的短期表。 PostgreSQL 在会话或事务结束时自动删除临时表。

Syntax:
CREATE TEMPORARY TABLE temp_table(
   ...
);

or,

CREATE TEMP TABLE temp_table(
   ...
);

临时表仅对创建它的会话可见。换句话说,它对其他会话仍然不可见。

例子:

首先,我们创建一个新的数据库test如下:

CREATE DATABASE test;

接下来,创建一个名为mytemp的临时表,如下所示:



CREATE TEMP TABLE mytemp(c INT);


然后,启动另一个连接到测试数据库并从 mytemp 表中查询数据的会话:

SELECT * FROM mytemp;

它将引发错误,因为第二个会话无法看到 mytemp 表。因此,在此之后退出所有会话,如下所示:

\q

最后,再次登录数据库服务器,从mytemp表中查询数据:

SELECT * FROM mytemp;

mytemp表不存在,因为它在 session 结束时已自动删除,因此 PostgreSQL 发出错误。

输出: