如果oracle某张表设置了唯一性约束,那么我在存储过程里面进行成批插入的时候,就全部的rollback。但是入股偶我通过sql脚本进行插入,那么oracle会把重复的数据过滤掉,出现唯一性错误的记录给提示,然后其他的照样插入数据库。那么我想存储过程的插入能不能做到脚本插入这种形式呢?

解决方案 »

  1.   

    存储过程插入需要判断的,你可以对唯一字段的值进行判断再插入.还有一种办法就是使用merge into总之使用SQL插入都需要事先判断才行.
      

  2.   

    用log error能做的...不过数据库版本要10g正确记录进目的表,违反约束的进错误日志表.
      

  3.   

    你说的问题,也就是Oracle的事务管理,在一个事务中,要成功,都成功,如果有一个不成功,那就全部rollback.在存储过程中,可以用异常的办法,不是异常就提交,否则就rollback. 可以达到有条件的插入。
      

  4.   

    你去GOOGLE上搜MERGE,很简单的就把你的要求实现了。