本人写了个函数遍历cursor里的记录并修改,请问下我怎么把修改后的记录返回回去?
------解决思路----------------------
可以在调用该存储过程之前,创建游标,并且把游标做为参数传进来,这样你执行完以后,游标也不需要返回了
另外,你的思路有问题,oracle开发跟之前的语言还是有区别的,比如java之类的,你处理完一个集合,需要返回,然后外层继续用,但是oracle你处理完游标以后完全可以把结果就保存到表中了,外层需要用的时候直接再查询一次数据库就可以了。
------解决思路----------------------
仔细阅读一下游标的定义,其中都有的,简单的说:
1、定义时加 for update 子句;
2、在 update 或 delete 语句中加 where current of cursor_name 子句。 通过参数 ref cursor
比如说我定义了pCursor out myCursor;
然后我遍历了pCursor后,这个pCursor还有值吗,如果没有我应该怎么返回去
可以在调用该存储过程之前,创建游标,并且把游标做为参数传进来,这样你执行完以后,游标也不需要返回了
另外,你的思路有问题,oracle开发跟之前的语言还是有区别的,比如java之类的,你处理完一个集合,需要返回,然后外层继续用,但是oracle你处理完游标以后完全可以把结果就保存到表中了,外层需要用的时候直接再查询一次数据库就可以了。
可是我用的是视图,如果修改了后表里的数据不会改吗
普通视图的话,会变啊,变就变呗,就是中间状态啊,你可以外层使用这条数据的时候在这个基础上继续更新啊