【问题标题】:Can I pass cursor?我可以通过光标吗?
【发布时间】:2018-02-26 07:22:35
【问题描述】:

我从method1 获取光标作为输出,我想将光标作为输入参数传递给method2。但是一旦我将这个光标传递给method2,这个光标就会变成null

有人知道吗?

variable r refcursor;
package_method1(:r);
package_method2(:r);
print r;

【问题讨论】:

  • 变量在作为参数传递时不会变为空。它们变为空是因为程序执行了一行代码改变了它们的状态。您在这里尝试做什么并不明显,因此您需要编辑您的问题。请为package_method1()package_method2() 提供一些内部代码,以重现该行为。如果您可以将其简化为几行简单的代码,您就更有可能得到有用的答案。您还可以深入了解代码,让您自己解决问题。

标签: oracle procedure


【解决方案1】:

:r 是绑定变量,r 是 PL/SQL 范围内的变量;它们是不同的变量。

你可能想要:

variable r refcursor;
package_method1(:r);
package_method2(:r);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多