全局临时表中数据的持续时间?
有人可以告诉我:全局临时表中的数据会存在多长时间?
Can someone please tell me: how long will data be there in a Global Temporary table?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
有人可以告诉我:全局临时表中的数据会存在多长时间?
Can someone please tell me: how long will data be there in a Global Temporary table?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
它们可以是基于会话的(数据在提交后仍然存在,但在断开/重新连接时不存在)。它们也可以是基于事务的(数据在提交后消失)。
这将创建一个基于事务的临时表:
这将创建一个基于会话的临时表:
They can be SESSION based (data survives a commit but not a disconnect/reconnect). They can also be TRANSACTION based (data disappears after a commit).
This creates a transaction based temp table:
This creates a session based temp table:
当您创建临时表时,您对于数据持久性,有两个选项:
ON COMMIT DELETE ROWS
(默认)和ON COMMIT PRESERVE ROWS
如果您未指定持久性子句,或指定
ON COMMIT DELETE ROWS
,表中的数据将是特定于事务的(它将在提交或回滚时被删除)。如果您指定
ON COMMIT PRESERVE ROWS
,数据将保留到会话结束。When you create a temporary table you have two options for data persistence:
ON COMMIT DELETE ROWS
(default) andON COMMIT PRESERVE ROWS
If you don't specify a persistence clause, or specify
ON COMMIT DELETE ROWS
, the data in the table will be transaction-specific (it will be deleted upon commit or rollback).If you specify
ON COMMIT PRESERVE ROWS
, the data will stay until the end of your session.如果表是使用“提交时保留行”创建的,则数据将保留到当前会话结束。如果它是使用“提交时删除行”创建的,那么它将保留到下一次提交或回滚。
If the table was created with "on commit preserve rows" then data will remain until the end of the current session. If it was created with "on commit delete rows" then it will remain until the next commit or rollback.