Plsql 动态Sql与临时表

Plsql 动态Sql与临时表,plsql,oracle11g,Plsql,Oracle11g,我有一个存储过程,其中动态创建临时表“on delete preserve rows”,并插入数据。当我尝试执行任何其他动态sql语句时,临时表中的数据将被删除。但我需要一个数据来进一步处理 有谁能告诉我数据丢失的原因,以及解决方案是什么 谢谢。这可能有三个原因: 有一个显式提交 有一个隐式提交(通常是DDL语句) 您正在关闭会话并开始新的会话 如果无法避免这些,则必须创建一个永久表。它是“在提交时保留行”,而不是“在删除时”。为什么要动态创建这些表(可能每次都是这样)?Oracle中的(全局)

我有一个存储过程,其中动态创建临时表“on delete preserve rows”,并插入数据。当我尝试执行任何其他动态sql语句时,临时表中的数据将被删除。但我需要一个数据来进一步处理

有谁能告诉我数据丢失的原因,以及解决方案是什么


谢谢。

这可能有三个原因:

  • 有一个显式提交
  • 有一个隐式提交(通常是DDL语句)
  • 您正在关闭会话并开始新的会话

  • 如果无法避免这些,则必须创建一个永久表。

    它是“在提交时保留行”,而不是“在删除时”。为什么要动态创建这些表(可能每次都是这样)?Oracle中的(全局)临时表通常只创建一次,然后由不同的会话使用。@David Aldridge-我已更改为“在提交时保留行”,同样的情况也在发生