在我的应用程序中,我需要创建一些临时表。我是否需要在每个会话中执行 SQL 来创建临时表,否则我可以手动运行 SQL 一次,并且可以在每个会话中使用这些临时表吗?
问问题
984 次
1 回答
5
来自精美手册:
临时表
虽然 的语法
CREATE TEMPORARY TABLE
类似于 SQL 标准的语法,但效果却不尽相同。在标准中,临时表只定义一次,并在每个需要它们的会话中自动存在(从空内容开始)。相反,PostgreSQL 要求每个会话为要使用的每个临时表发出自己的CREATE TEMPORARY TABLE
命令。这允许不同的会话将相同的临时表名用于不同的目的,而标准的方法将给定临时表名的所有实例限制为具有相同的表结构。
所以临时表对于每个会话都是本地的,每个会话都需要自己的 CREATE TEMPORARY TABLE 并且每个会话中的临时表将不同,即使它们具有相同的名称。
于 2013-07-24T05:48:50.940 回答