问题标签 [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 投票
2 回答
20472 浏览

oracle - 如何使用 squirrel 在 Oracle 中使用引用游标调用存储过程

我正在尝试执行我在 Toad 中使用的相同请求

(存储过程签名是两个 varchar2 参数和一个 REF CURSOR 参数)

这是我对 Toad 所做的

我不知道如何用 Squirrel 写这个,我必须使用 Squirrel。

非常感谢您的回复

拉斐尔

0 投票
4 回答
10514 浏览

oracle - oracle 存储过程 - 选择、更新和返回一组随机的行

oracle我希望从表中随机选择几行,更新这些行中的列并使用存储过程返回它们

请帮忙

0 投票
1 回答
15261 浏览

oracle - 如何检查 ref 游标是否从 pl/sql 过程返回数据

我想知道如何检查 ref 游标是否返回数据。

假设我在 PL/SQL 包中有以下代码:

此代码用于更复杂的过程,并且 Foo 中的查询使用多个表。

我需要在 asp.net 应用程序中从 Foo 返回的数据,但是当 Foo 找到一些数据时,我还需要做一些事情。

我想在几个地方重用查询,但我认为这不是一个很好的视图候选者。

知道 Foo 是否找到某些东西的最佳方法是什么?

谢谢。

0 投票
1 回答
10785 浏览

oracle - 如何关闭 PL/SQL 中的返回游标?

我是 PL/SQL 的新手,我刚刚在学习过程中遇到了游标。我一直在看到具有类型OUT SYS_REFCURSOR的存储过程参数,据我所知,它的目的是“返回数据”,就像 C 语言中的指针一样。我想知道SYS_REFCURSOR如果程序必须打开它并且不能关闭它,谁会关闭它?(如果程序关闭了输出OUT SYS_REFCURSOR,则不会有任何数据返回)。

另外,我认为,依靠包含参数的存储过程以外的外部函数OUT SYS_REFCURSOR来关闭游标是不好的设计。有没有一种方法可以在不使用游标的情况下从存储过程中返回表?

0 投票
1 回答
29491 浏览

oracle - 如何使用 Ref Cursor 作为 C# 的 Out-parameter 调用 Oracle 函数?

我正在使用一种产品,该产品提供基于 Oracle 函数的数据库 API,并且我通常能够通过 ODP.NET 调用函数。但是,我不知道如何调用包含 Ref Cursor 作为 Out 参数的函数。到目前为止,我发现的所有示例要么调用具有 Out 参数的过程,要么调用具有 Ref Cursor 作为返回值的函数。我尝试类似地定义参数,但不断收到错误,即提供了错误数量或类型的参数。

这是函数头(显然是混淆的):

这些是“somepackage”中的类型定义:

这是我尝试过的代码:

我尝试了以下不同的方式来调用该函数(当然一次只有一种):

但是它们每个都失败并显示错误消息:

那么通常是否可以使用 ODP.NET 从 C# 调用具有 Ref Cursor 作为 Out-parameter 的函数?我可以使用 Varchar2-Out 参数而不是 Ref Cursor 调用具有相同结构的函数,而不会出现问题...

顺便说一句,我在 Visual Studio 2008 中使用 C#.NET 3.5 中的 ODP.NET 版本 2.112.2.0。

在此先感谢您的帮助!

0 投票
1 回答
3350 浏览

.net - 如何遍历 OracleDbType.RefCursor 结果集

我目前在从 Oracle 数据库获取数据的 MVC 2 网站的实现中有点卡住了......现在我想通过 RefCursor out 参数进行迭代并扔掉所有结果并将其序列化为自定义 xml细绳...

我错过了一些关于 RefCursor 的东西吗?因为在做了一些研究之后,似乎没有办法循环抛出所有返回的行和列。我知道您可以从 RefCursor 获得 DataReader ......但 DataReader 似乎有些令人困惑。我只想浏览返回数据集的所有行和列...我希望存储过程设计器刚刚返回结果集,而不是将其放入一个怪异的 Ref Cursor 中。我相信她有她的理由。

这个问题似乎有点丛林联盟,我将继续研究最好的方法来做到这一点。感谢您提供的任何信息......另外,我愿意以完全不同的方式这样做。我并不特别喜欢任何一种循环通过 ref 光标的方式。

PS看起来我在我的代码中使用了折旧的方式。关于如何使用 ODP.Net 的任何想法?

0 投票
2 回答
446 浏览

.net - DAAB 和参考游标,为什么没有最新的教程?

为什么没有最新的教程书籍或类似的在线使用企业库 5.0 和 Oracle 引用游标?地球上没有人需要帮助吗?我完全傻眼了。在旧版本中有一种方法可以做到这一点,但是某些对象的功能已被删除,并且似乎没有被替换。例如,AddCursorOutParameter 是旧 DAAB 中的一个方法,它将输出参数添加到数据库命令对象。目前的 DAAB 中不存在这种方法……它似乎非常有用。为什么它不是最新版本......因为现在这正是我正在努力解决的问题。我花了几天时间试图以正确的方式完成这项工作,这肯定会让我的项目随着时间的推移而运行。

尝试使用 Enterprise Library 5.0 调用返回引用游标的存储过程时,如何处理 .net 中的引用游标?如果有人有任何答案,我会很高兴听到他们的声音。再次感谢各位。

0 投票
1 回答
8048 浏览

java - CURSOR 和 REF CURSOR 作为 JDBC 数据类型

许多 RDBMS 支持某种“CURSOR”类型。这些类型在从存储过程返回时最有用。Oracle 中的一个示例:

使用 JDBC 调用此过程时,OracleTypes.CURSOR = -10应使用“JDBC”类型。这种类型不是任何标准的一部分,也不会成为 Java 7 中 JDBC 4.1 的一部分。

有谁知道 JSR 人员将来是否会考虑将这种类型添加到标准中?或者其他 RDBMS 是否有类似的“供应商特定类型”?

0 投票
2 回答
6866 浏览

oracle - 空 Oracle REF CURSOR 中的列名

在 PL/SQL 中,我可以在这里使用类似这样的技巧来从 a 中找出一行中每一列的名称/值对REF CURSOR

Oracle PL/SQL TABLE 类型的 TO_CHAR

这是一个很棒的技巧。但是当为空时它不起作用REF CURSOR,例如这里的这个(这只是一个例子。真正的光标不选择 from DUAL):

空的REF CURSOR甚至有列名/类型信息吗?

0 投票
2 回答
34010 浏览

sql - 调用返回引用的函数

我正在使用 Postgresql 8.3 并具有以下简单函数,该函数将 a 返回refcursor 给客户端

现在,我可以使用以下 SQL 命令来调用这个函数并操作返回的游标,但是游标名称是由 PostgreSQL 自动生成的

除了如 38.7.3.5 所述将游标名称显式声明为函数的输入参数。返回游标,我可以声明自己的游标名称并使用此游标名称来操作返回的游标,而不是 Postgresql 自动为我生成吗?

如果没有,是否有任何命令可以获取生成的游标名称?