【发布时间】:2015-07-10 14:29:55
【问题描述】:
游标名称将作为 varchar2 传入,并且游标本身与过程存在于同一包中。
只给定名称(而不是游标引用)是否可以访问游标并循环遍历它?
如果这需要使用“立即执行”或类似的,那不是不可能的......(虽然我不太清楚它是如何工作的,但我的印象是它声明的任何内容都超出了范围一旦完成)。
提前道歉,这对我来说似乎应该是显而易见的,但我是空白的。
【问题讨论】:
-
通过引用传递光标会简化您的问题
-
该过程将直接运行,不会被另一个过程调用......并且来自另一个只能传入字符串的系统。
-
“其他系统”可以处理引用游标吗?如果是这样,您可以只获取传入的字符串并为此打开引用光标,例如
open cur_var for p_sql_string,然后将 ref 光标传回另一个系统,让它循环。 -
如何将光标作为 varchar2 存储在具有绑定变量的表中?然后传递光标的 ID 并在过程中打开它
-
我的运气为零,立即执行'open'||光标名称 || '(参数 1,参数 2)'; ... 一直被 ORA-00900 无效的 SQL 语句阻塞。我不相信 open 是立即执行的有效语句。并且 open-for 只将语句作为字符串,而不是显式命名的游标。