代码很长,我就不全贴出来了,大致是这样的
CURSOR my_cursor IS SELECT ...    用游标取出我要处理的内容
......
insert into ....              根据游标变量进行少量记录的插入update .......                根据游标变量进行一条记录的更新merger into .....             根据游标变量的条件进行update或insert处理(就是这句有问题,但单步调测又是通过的,就是没有把对应的记录写入数据表)insert into ....               这几句执行的结果和预计的一样。
update .....
.....
commit

解决方案 »

  1.   

    你怎么知道没有写入数据呢?如果你在调试到一半时去查看当然没有数啊,因为提交是在后面执行的啊。另外,是不是与你的游标变量的条件有关呢?你可以先试试不根据游标变量进行merge,如果可行那一定是你的游标变量的问题。
      

  2.   

    我不是在调试到一半时去看数据,我是在整个过程运行完了再去看的,另外在调试时我用得到的游标变量的值用merge into单句执行是没问题的,我也看到了想要的结果。但就是在过程里的这句通过了没有向数据表里写东西。
    还有就是我用同一个游标变量执行上面的insert update 等语句都通过了为什么就是merge into过不了。
      

  3.   

    在存储过程中用 merge into 是可以的,你可以刚开始用常量值完成测试,然后再用变量调整你的程序。