global temporary table是事先建好的,应用程序在运行时会往里面插入数据并删除,我现在想往里面加入一列,却报错为ORA-14452。
请高手帮忙解决!

解决方案 »

  1.   

    你临时表是那种临时表?
    on commit preserve rows:在会话期级的 还是 on commit delete rows:事务级的?一个建议是重新建你的临时表,将栏位加进去
      

  2.   

    参考
    http://topic.csdn.net/u/20100824/16/e7e669e5-dbc4-44df-9ba6-bef3b0244613.html
      

  3.   

    截掉表 或者切断会话 SQL> alter table scott.tb_temp add sex char(2)
      2  /
    alter table scott.tb_temp add sex char(2)
    *
    第 1 行出现错误:
    ORA-14450: 试图访问已经在使用的事务处理临时表
    SQL> truncate table tb_temp
      2  /表被截断。SQL> alter table scott.tb_temp add sex char(2)
      2  /表已更改。SQL> desc tb_temp
     名称                                      是否为空? 类型
     ----------------------------------------- -------- -------------------
     ID                                                 NUMBER
     NAME                                               VARCHAR2(10)
     SEX                                                CHAR(2)
      

  4.   

    最简单就是切换session 原理一样注销session