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 发出错误。
输出: