首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

关于动态游标解决办法

2013-07-24 
关于动态游标楼主是新手 求各位大大指教,今天写了段代码被人说了,但是我不知道怎么错了。求指教定义了一个r

关于动态游标
  楼主是新手 求各位大大指教,今天写了段代码被人说了,但是我不知道怎么错了。求指教

   定义了一个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: 菜鸟第一次发帖 求解决
 
  
       SQL ref?curcor
[解决办法]

因为cursor资源是有限的,如果不关闭游标,一直占用cursor资源。。

另外也不建议用open...fetch...close这种写法,
直接用for 这种打开游标的写法。

热点排行