【发布时间】:2011-02-15 10:55:15
【问题描述】:
我有一个“ON COMMIT DELETE ROWS”的 Oracle 全局临时表。
我有一个循环,其中我:
- 插入到全局临时表
- 从全局临时表中选择(后处理)
- 提交,以便在循环的下一次迭代之前清除表
通过调用 oci_execute($stmt, OCI_DEFAULT) 完成插入。通过调用 oci_fetch_all($stmt, $result, 0, -1, OCI_FETCHSTATEMENT_BY_ROW | OCI_ASSOC) 进行检索。之后,提交:oci_commit()。
问题是检索有时会起作用,有时我会遇到以下错误之一:
- ORA-08103:对象不再存在
- ORA-01410: 无效的 ROWID
好像会话无法“看到”它之前插入的记录。
您知道是什么原因造成的吗?
谢谢。
【问题讨论】: