可以在存储过程中先创建临时表,然后循环写入数据库,处理完数据库后再drop临时表就可以了。

解决方案 »

  1.   

    流程我当然知道是这样的
    我在sqlserver中会
    只是对oracle不熟悉
    我想要的是具体的操作语句
      

  2.   

    oracle 本身也支持临时表,保持到session结束,要求版本8I以上,你可以把数据都写道临时表中,最后读到正式表中,不用管临时表的死活了,^_^,好方便
      

  3.   

    在Oracle8i中,可以创建以下两种临时表: 
    1。会话特有的临时表 
    CREATE GLOBAL TEMPORARY <TABLE_NAME> (<column specification> ) 
    ON COMMIT PRESERVE ROWS; 2。事务特有的临时表 
    CREATE GLOBAL TEMPORARY <TABLE_NAME> (<column specification> ) 
    ON COMMIT DELETE ROWS; 
    CREATE GLOBAL TEMPORARY TABLE MyTempTable 
    所建的临时表虽然是存在的,但是你试一下insert 一条记录然后用别的连接登上去select,记录是空的,明白了吧。
    下面两句话再贴一下: 
    --ON COMMIT DELETE ROWS 说明临时表是事务指定,每次提交后ORACLE将截断表(删除全部行) 
    --ON COMMIT PRESERVE ROWS 说明临时表是会话指定,当中断会话时ORACLE将截断表。
      

  4.   

    1.临时表虽然定义为GLOBAL,但是数据只对会话有效,不会混乱
    2.用ref cursor