问下,plsql块里面,声明一个临时表变量,往这个临时表变量里面insert数据的话,这些数据是存储放在内存里面吧,那么insert的时候是否100%会成功而不用判断呢?

解决方案 »

  1.   

    不知道楼主的临时表变量是指什么,
    但不管是table类型的数组还是temporary table,都应该在内存中在存储过程当中,把所有不可预测的异常在异常段中加
    exception when others
    rollback;
    这样就相当于处理了,不需要每个语句都加判断的
      

  2.   

    变量表在sqlserver里面有这种说法,好象在oracle里面没有变量表这种说法吧?
    建立临时表就用create temporary table 表名(....)
    但它在临时段中是实际存在的,不象sqlserver的临时表,退出后自动删除临时表
      

  3.   

    1.一般是放到内存中,但是如果你的数据量很大,超出了可用大小,oracle会把数据暂存到temporary表空间的数据文件中.
    2.在不出错的情况下,当然会100%的成功了.如果不成功就会到exception段执行,或者跳出.
      

  4.   

    不错啊,正解!你真的是oracle高级DBA吗?
      

  5.   

    楼主最好在insert的时候,加个异常判断吧!