这个要分情况讨论的啦,你这里游标是当作输出参数的,所以不能手动关闭它,只要open一下就可以了,否则调用以后拿不到结果,oralce会自己进行管理的。
第2种情况就是游标并不是当作输出参数的,只是个普通的游标,比如,在有些情况下,需要打开游标,然后,遍历游标,根据具体业务需求更新业务表等等,在这种情况下的话,当游标用完后需要手动关闭,不然会占用资源。
还有一种情况是隐试游标,也不需要手动关闭,例如:
for rec_item in select * from tablename loop
...
end loop;
这种简化的遍历方式oralce其实是隐式地申明了一个游标,不用管,oracle也会自己管理。