关于动态游标
楼主是新手 求各位大大指教,今天写了段代码被人说了,但是我不知道怎么错了。求指教
定义了一个ref 形式的游标 , 因为要取的信息条件多差不多 我就用了动态SQl
str_:= 'select stu_num from student where stu_no =:stu_no_';
open get_num_ for str using stu_no;
str_where:=' and 1=1 ';
open get_num_ for str_||str_where;
str_where:=' and 12=12 ';
open get_num_ for str_||str_where;
·····
·····
大概意思就是这样了不断的改变where 语句然后再次打开游标取值,他让我每个open 后面都要加一个close语句,个人感觉加上很多余。 不知道是不是应该加上。 这样编译和运行都不会出错。但是不知道是不是应该加上更好。求大大指教。PS:我问他为什么 他也说不出个所以然来。
PPS: 菜鸟第一次发帖 求解决
------解决方案--------------------
因为cursor资源是有限的,如果不关闭游标,一直占用cursor资源。。
另外也不建议用open...fetch...close这种写法,
直接用for 这种打开游标的写法。