临时表的持续时间取决于它是否进行日志记录。
进行日志记录的临时表将一直存在,直到以下情况发生:
- 应用程序断开连接。
- 对临时表发出 DROP TABLE 语句。
- 数据库已关闭。
当这些事件中的任意一件发生时,将删除临时表。
非日志记录的临时表包含那些用 CREATE TEMP TABLE 的 WITH NO LOG 选项创建的表。
非日志记录的临时表将一直存在,直到以下情况发生:
- 应用程序断开连接。
- 对临时表发出 DROP TABLE 语句。
- 数据库已关闭,且非日志记录的临时表包含至少一个用户定义类型的列,或者一个内置的透明数据类型(
GBase 8s
内置的透明数据类型包括 BLOB, BOOLEAN 、CLOB
、LVARCHAR 和 IDSSECURITYLABEL。)
如果非日志记录的临时表不包含任何 UDT
或内置的透明数据类型的列,则当应用程序仍保留连接时,您可以使用此表将数据从一个数据库传输到另一个数据库,因为当数据库已关闭时该表并未销毁。如果要传输的数据包含 UDT
或内置透明数据类型,则您必须使用永久表(或者一些其它策略)。