问题标签 [ref-cursor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
12468 浏览

java - 使用 JDBC 时,Oracle 的 REF CURSOR 在 MySQL 中的等价物是什么?

在 Oracle 中,我可以声明一个引用游标...

...并使用它来传递游标作为返回值...

...然后使用 JDBC 将其捕获为结果集...

MySQL中的等价物是什么?

0 投票
4 回答
5168 浏览

mysql - 使用 REF_CURSOR 转换 Oracle 存储过程并将全局变量打包为 Postgresql 或 MySQL

这个包使用了 Oracle 的两个独特的特性,REF_CURSOR 和一个包全局变量。我想将功能从 Oracle 移植到 Postgresql 或 MySQL。

你能产生等效的代码吗?对于PostgreSQL?对于 MySQL?

注意:Oracle 代码是线程安全的。这是一个关键特性。

0 投票
3 回答
4927 浏览

c# - 使用引用游标作为 ODP.NET 的输入类型

我正在尝试使用 aRefCursor作为 Oracle 存储过程的输入参数。这个想法是选择一组记录,将它们输入存储过程,然后 SP 循环输入RefCursor,对其记录进行一些操作。不,我不能选择 SP 内的记录,因此避免了使用RefCursor作为输入类型。

我在 Oracle 的文档中找到了一个关于如何执行此操作的示例(这将是链接,但似乎我还不能使用它们),但它使用一个简单SELECT的方法来填充输入RefCursor;这就是问题所在:我必须从代​​码中填充它。

你看,在代码中我有这个:

而且,我尝试用 a , a ,甚至是一个普通的数组来填充光标,但没有任何效果。当我尝试运行测试时,出现错误:List<T>DataTableMyObject

“无效的参数链接”

也许不是确切的措辞,因为我是从西班牙语翻译的,但这就是信息

有任何想法吗?

0 投票
2 回答
11890 浏览

c# - 使用 DAAB 和 C# 从 Oracle 过程返回多个引用游标

我想从 Oracle 过程返回数据以填充一些标签控件。该过程接受 26 个输入参数(搜索变量)并返回 3 个输出游标。我已经成功地从使用 OracleCommand、DataAdapter 和 DataSet 返回单个引用游标的过程中返回数据,但是从返回多个引用游标的过程中返回数据时遇到了各种问题。

我试图使用 Enterprise Library 中的 DAAB,但没有成功(原始帖子)。我现在回到了基于 Oracle 和其他开发站点的帖子的 OracleCommand。我仍然返回零行。我可以使用“rdr_p_cursor_detail.GetName(0);”从我的读者那里返回列名,但是当我尝试返回一个值时,我得到一个“由于对象的当前状态,操作无效”。错误。

截断的 oracle 程序:

有任何想法吗?我倾向于不正确的阅读器使用,但无法弄清楚我错过了什么。谢谢。

0 投票
2 回答
2017 浏览

c# - Oracle RefCursor 的参数问题

我正在使用 ODP.NET(从 Microsoft 的提供商迁移),并且我陷入了一个返回 refcursor 的存储过程。我有以下 PL/SQL 过程(我对其进行了一些更改以使其更通用):

然后我有以下 C# 代码来调用它:

当我运行它时,我不断收到这个异常:

ORA-03106: 致命的两任务通信协议错误

我尝试了许多不同的参数变体、它们的类型、顺序等,但似乎没有任何帮助。这reader.Read()是引发异常的那个。我非常感谢您对此的帮助!

补充:ret_type 定义为:

类型 ret_type 是参考光标;

0 投票
1 回答
3117 浏览

plsql - 如何将 ref 游标参数声明为对象方法?

我对 PL/SQL 有点陌生,需要一些看起来像这样的东西:

基本上,我需要一个通用例程,它知道如何执行与表无关的操作,将特定于表的任务委托给派生类。

上述采用“引用光标”的对象方法无法编译 - 编译器说“需要定义光标”。所以当然我已经尝试了'type generic_cursor as ref cursor',但无法编译。

在尝试追踪将引用游标传递给对象方法的语法时,我几乎没有发现任何东西。这让我觉得也许我正在尝试做一些愚蠢的事情。

我想做的事情有意义吗?如果是这样,我错过了什么?我在哪里可以定义 generic_cursor 以便我可以将它用作对象方法参数类型?

0 投票
2 回答
6516 浏览

php - CodeIgniter 和 PostgreSQL - 从返回 refcursor 的函数中检索数据

我有一个 PostgreSQL 函数,它选择数据并通过 refcursor 返回它,类似于以下声明:

如何通过 CodeIgniter 模型从此函数中检索数据?我不能直接从函数中选择,因为它不直接返回数据。

0 投票
1 回答
1702 浏览

sql - Oracle 10g 中的 DMBS_SQL.to_refcursor 等效项

我有一个同事遇到了DBMS_SQL.to_refcursor这对于他来说是一个很好的解决方案来回传他需要的 refcursor,但是我们正在运行 Oracle 10g,这个特性只在 11g 中可用。

在 Oracle 10g 中是否有一个简单的等价物?

我们开发了另一种编码解决方案的方法,但在 DBMS_SQL 中使用绑定变量会更容易,但我们不希望这个包变得过于难以管理,因为它将传递给其他程序员来维护.

0 投票
2 回答
3970 浏览

oracle - 使用 MS EntLib 4.1 中的 DAAB 从 oracle 存储过程返回 ref 游标

是否可以通过使用 Microsoft Enterprise Library 4.1 中的 DAAB 从 oracle 存储过程中获取 ref 游标?

0 投票
4 回答
1372 浏览

php - 以字符串为键的数组的条件

我的 PL/SQL 过程返回一个游标。它总是返回数据。我获取(oci_fetch_assoc)它并将其保存在一个数组中。如果找到结果,则数组的键将是字符串。如果游标没有找到数据,它将返回值 0,因此数组的键将是数字。

检查数组不只是 0 而是包含数据的最佳方法是什么?

谢谢