问题标签 [sys-refcursor]

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 回答
6449 浏览

asp.net - 将 ASP.NET GridView 绑定到 Oracle SYS_REFCURSOR

我们在 Oracle 中有一个带有 SYS_REFCURSOR 输出参数的过程,它返回我们想要绑定到 ASP.NET GridView 控件的数据。我以前见过这样做,但我找不到我用来解决问题的原始参考。

程序如下所示:

现在 GridView 只是简单的:

0 投票
2 回答
33235 浏览

oracle - 返回 Oracle 参考游标并附加多个结果

我有这个问题,我希望有人知道答案。我有一个 oracle 存储过程,它接受一个客户 ID 并在 ref_cursor 中返回所有客户的订单。过度简化它,这就是我所拥有的:

现在,我需要编写另一个过程,它接受客户名称并执行 LIKE 查询以获取所有 custId,然后我需要重用 GetOrder 方法来返回找到的 custId 的所有订单,如下所示:

我的问题是,如何在每次迭代中将 GetOrder 的返回附加到 curReturn ?正如它现在所写的那样,它会在循环的每个循环中覆盖它。谢谢!!

0 投票
1 回答
333 浏览

oracle - Oracle 游标和 JDBC ODBC

我有一些程序要在具有 OUT REFCURSOR 参数的数据库中执行。

当我连接 JDBC 瘦客户端时,一切正常。但是,如果我要更改连接字符串以引用指向同一数据库的 ODBC 数据源,那么这些过程将失败。不使用 OUT REFCURSOR 的过程仍然可以正常工作。

这种情况是我的错误还是预期的结果?

0 投票
1 回答
2182 浏览

c# - 如何从 C# 调用 DB2 存储过程?

我在 Linux 上使用 DB2 9.7。存储过程是用PL/SQL(Oracle 的编程语言)实现的,因此,记录集是一个输出参数(SYS_REFCURSOR)。

我不知道如何在我的 C# 代码中声明这个参数。

0 投票
5 回答
160637 浏览

oracle - 如何使用 Oracle SQL developer 运行存储过程?

* EDIT6:*这最终为我工作(来自接受的答案):


SQL Developer 让这个超级难/不可能?我不在乎该实用程序是否基于命令行;我只是希望能够快速运行并查看它。如果它也能很好地捕获错误,那就太好了。能够逐渐(交互地)登录以及一次指定所有内容(类似于典型的基于 ftp / sftp cmd 的客户端的工作方式)会很好。

我的平台是 Windows Server 2008 + Cygwin。

编辑:也许你会知道如何使用 Python 编写脚本?

编辑 2:在 MSFT SQL 服务器中,我可以简单地输入:

然后突出显示它并按 F5,我得到:

打印到输出窗口。Oracle SQL 开发人员对此根本没有帮助。我不确定如何传入 1,我不确定如何查看返回的实际行/记录。

EDIT3:当我键入var rc refcursor;并选择它并运行它时,我收到此错误(GUI):

编辑4:

我正在尝试运行一个过程,其定义如下所示:

我收到一个错误:

我是如此接近......请帮助。

*编辑5:*

我正在运行的脚本(功能相同),错误始终相同:

脚本输出(在 F5 上)(可能是来自多次运行的几条消息。):

为什么它说第 1 行第 134 列?没有一条线延伸那么远......

0 投票
1 回答
1155 浏览

oracle - How to use NHibernate to process multiple resultsets/SYS_REFCURSOR from Oracle stored procedure

I can get NHibernate (v2) to return and process a single SYS_REFCURSOR that contains my single resultset. Is it possible for multiple resultsets/SYS_REFCURSOR's in NHibernate? What would be the syntax of the .hbm.xml file to map multiple resultsets from the SYS_REFCURSOR's?

thanks.

0 投票
1 回答
2300 浏览

c# - ODP .NET 获得 SYSREFCURSOR 输出。{“不支持的列数据类型”} 错误

我正在尝试执行一个返回存储过程的过程。我的 Oracle DB 版本是 9.2,ODP .NET 版本是 10.2.0.100

我的 C# 代码如下所示。

我的 Oracle 过程代码如下所示

当我执行我的代码时,我尝试 GetReader() 的部分失败并显示 UNSUPPORTED COLUMN DATATYPE 错误消息。

0 投票
3 回答
22043 浏览

sql - Oracle SQL Developer - 索引处缺少 IN 或 OUT 参数:: 1

我无法在 Oracle Sql Developer 中测试这个简单的存储过程。存储过程执行一个简单的选择并返回一个游标。


为了测试这个过程,我使用了下面的脚本:


作为 Oracle 和 Sql Developer 工具的新手,我很难理解这里的错误是什么。我无法在 Sql*Plus 中检查这一点,因为我没有这样做的密码。我正在使用 Oracle Sql Developer 1.1.2.25 和 Oracle 10g。

有人可以帮帮我吗?先感谢您。

0 投票
2 回答
2834 浏览

oracle - Quick-n-dirty 结果:在 SQL 工作表中查看过程 OUT 游标的结果?

平台:Oracle
语言:PL/SQL
问题:想要将过程 OUT 游标输出到 SQLDeveloper SQLWosksheet。

任何人都知道如何使用 Oracle“Select * from Table(PipelinedFunction(Param))”来检查过程代码输出游标?

我正在使用 Oracle 存储过程的 Crsytal Reports。Crystal 要求一个过程返回一个游标,它会获取并读取该游标。

我拥有的程序代码目前正在工作,但我想找到最简单的方法来查看程序代码更改的效果。我有可用的 SQLDeveloper,我正在其中进行创建和 sql 测试。我想在 SQL Developer 查询结果窗口(“SQL 工作表”)中快速获得可见的结果。

有没有一种(简单的)方法可以使用函数从过程中读取光标?(并将其输出到 Table 函数?)

很复杂,我知道,但是当我能看到代码更改的结果时,我处理得最好。如果我可以直接查看记录结果,将加快报告的开发速度。

我知道 Table 函数和一点关于 Oracle 中的流水线的知识。我对一般游标和 sys_refcursor 了解一些。我非常了解类型以及我为什么需要它们。(难道 sys_regCursor 不应该让我们摆脱这种情况吗?)

当前过程执行了一系列适当但不优雅的查询、插入到全局临时表 (GTT)、从 GTT 和原始表连接、更多插入和更多自连接,然后将结果选择到 OUT 游标中。仅依靠游标等我可能会做得更好,但是当前的方法足以获得报告的结果。

我认为我可以很好地处理 SQL(出于我们的目的),但我不是特定于 Oracle 的开发人员......但我需要帮助。

有人遇到过这个吗?整个想法是加快程序代码的开发速度,但我花了几天时间寻找一种方法来获得输出……这不是我的想法。

更新:
我已经尝试了一些基于我在网上看到的条子的愚蠢方案......例如

我认为 Oracle 甚至没有考虑让我重新引用过程中的输出游标(“结果”是一个 sys_refcursor,它保存过程中最后一个 SELECT 的结果)。我不知道如何定义它,打开它,并从过程中引用它。

我从来没有到过我可以尝试的地方

抱歉,有任何错别字和糟糕的 Oracle 语法……已经好几天了。

0 投票
1 回答
3670 浏览

oracle - 如何从花药调用一个存储的过程并修改返回的引用?

我有两个存储过程,p_proc1p_proc2. p_proc1返回一个 refcursor,我想使用p_proc2. 是否可以调用p_proc1p_proc2修改数据集(外部连接另一个表)?数据库是甲骨文。