在处理临时表的时候经常会碰到错误。本文讲解了解决临时表的ORA-14552错误的办法。
在处理临时表的时候经常会碰到这个错误。
最简单的例子:
SQL> CREATE GLOBAL TEMPORARY TABLE T_TEMP
2 (ID NUMBER)
3 ON COMMIT PRESERVE ROWS;
表已创建。
SQL> INSERT INTO T_TEMP VALUES (1);
已创建 1 行。
SQL> DROP TABLE T_TEMP;
DROP TABLE T_TEMP
*第 1 行出现错误:
ORA-14452: 试图创建, 更改或删除正在使用的临时表中的索引
这时无论是ROLLBACK、COMMIT还是删除表中的数据都无法解决问题:
SQL> ROLLBACK;
回退已完成。
SQL> DROP TABLE T_TEMP;
DROP TABLE T_TEMP
*第 1 行出现错误:
ORA-14452: 试图创建, 更改或删除正在使用的临时表中的索引
SQL> DELETE T_TEMP;
已删除 1 行。
SQL> COMMIT;
提交完成。
SQL> DROP TABLE T_TEMP;
DROP TABLE T_TEMP
阅读推荐
相关文章