以下语句中的临时表有什么作用?它与普通表有何区别?
CREATE TEMPORARY TABLE tmptable
SELECT A.* FROM batchinfo_2009 AS A, calibration_2009 AS B
WHERE A.reporttime LIKE '%2010%'
AND A.rowid = B.rowid;
以下语句中的临时表有什么作用?它与普通表有何区别?
CREATE TEMPORARY TABLE tmptable
SELECT A.* FROM batchinfo_2009 AS A, calibration_2009 AS B
WHERE A.reporttime LIKE '%2010%'
AND A.rowid = B.rowid;
临时表只在与服务器的会话期间保留。一旦由于任何原因连接断开,表会自动删除。它们也只对当前用户可见,因此多个用户可以使用相同的临时表名称而无冲突。
当连接关闭时,临时表将不再存在。因此,它的作用是用于保存必须在使用之前进行处理的临时结果集。
临时表通常用于存储需要进一步处理的查询结果,例如如果结果需要被再次查询或细化,或者将在您的应用程序的不同场合使用。通常,在临时数据库中存储的数据包含来自多个常规表的信息(就像您的示例中一样)。
当当前数据库会话结束时,临时表会自动删除。
支持临时表的存在是为了在基于集合的4GL中允许过程式范例,无论是因为编码者尚未将他们的3GL思维转换为新的范例,还是为了解决性能或语法问题(实际或感知)。