问题标签 [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.
plsql - PLSQL 从二进制文件(这里是 xml)中读取特定的标签值,然后存储在光标中并显示它们
我正在尝试从 BLOB 文件中读取和打印特定标签值之一。在我的例子中,BLOB 数据存储在数据库中,二进制文件中的内容是 XML 但二进制类型。
我只能获得其中一个重复标签的第一个值。DATA_VALUE 是列名。
结果:- 12268646
如何列出标签的所有值而不重复并列出它们,以便我可以将它们用作其他 SQL 查询的输入?
我尝试通过将 BLOB 内容获取到 Cursor 来使用迭代 FOR 循环,但我只能获得第一次出现的标记。
随着每个此类文件的行数越来越多,是否有可能递归读取和显示所需信息而没有重复值?
这是存储在表的 DATA_VALUE 列中的 BLOB 数据:
oracle - Oracle 存储过程 java.sql.SQLException:无效的列类型:2012 (REF_CURSOR)
Oracle 11g、Java 8、ojdbc8/ojdbc7
带有 OUT REF_CURSOR 的存储过程,例如,
从 sqlplus,它工作正常。
JDBC调用过程:
错误:
类型 2012 是 Types.REF_CURSOR。
使用 oracle 11g 尝试了 ojdbc7 和 ojdbc8,同样的错误。
Oracle 11g 支持 REFCURSOR。java 8 定义了 Types.REF_CURSOR。我应该为 11g 使用哪个 oracle jdbc 驱动程序?
postgresql - 在 Postgresql 中的函数内使用“WITH HOLD”声明游标
我正在使用 postgresql 10.3。以下函数返回绑定到查询的游标
我需要将返回的光标设为“WITH HOLD”。我做了如下。
但我收到以下错误。
为什么我们不能在这里的函数内部使用 WITH HOLD?
postgresql - 是否允许将 RefCursor 作为 Postgresql 函数的 OUT 参数?
我知道以下是可能的。即我可以在Postgresql 中有一个引用游标作为返回值。
但是我们可以在 postgresql 函数中将 ref 游标作为 OUT 参数吗?
供您参考,遵循我正在寻找的 Oracle 等效项。
oracle - 如何在程序中找到 Ref Cursor 执行时间?
我使用 Ref Cursor 作为 PLSQL 过程的输出参数。我需要在日志表中维护 proc 的确切开始和结束时间。
下面的虚拟代码:
Ref Cursor 的选择查询有时需要 2-3 分钟才能执行,但在日志表中,我看到 STR_TIME 和 END_TIME 之间的差异只有几秒钟。
如何捕获过程所花费的总时间,包括查询执行时间?
oracle - 架构级别的 Oracle 参考游标/普通游标
我想知道我们是否可以在架构级别将acursor
或 a声明为存储对象。ref cursor
我尝试使用以下语句ref cursor
但我得到了错误。一个小的工作示例就可以了,如果我们不能,那么简要说明其背后的原因将是一个很大的帮助。
sql - 将 refcursor 获取到临时表中
我需要将 refcursor 提取到临时表中。每个 refcursor 列应该匹配适当的表列 + 一个键(枚举)列应该在临时表中。例如 refcursor 返回以下数据:
以及应该存储在表中的数据:
这个 refcursor 在其他函数中打开。所以我不知道结果集中应该有哪些列。我如何实现 FETCH ALL curs INTO temp_table 之类的东西?
我写了下面的函数,但它抛出了 (V_CURS_Rec) 的错误。*
oracle - 具有自定义类型的 Oracle 参考游标
我正在尝试编写一个具有引用游标和自定义类型的存储过程。我想将结果提取到自定义类型中,然后循环打印结果。到目前为止,我通过对如何做一些研究来尝试这个。但是我遇到了一些错误。任何人都可以请指导我正确的方法来做到这一点。
我面临的错误如下:
新错误是:
oracle - PL/SQL 可重用的动态 sql 程序,用于相同类型的任务但不同的表和列
谢谢大家的回复。我有点解决了我的问题。
我曾经尝试使用“where current of”在动态 SQL 中使用 ref 游标更新数据,但我现在知道这行不通。
然后我尝试使用 %rowtype 将 'id' 和 'clob' 存储在一个变量中以供将来更新,但结果是弱引用游标也不能使用该类型绑定。
之后,我尝试使用记录作为参考游标的返回,这也不适用于弱游标。
最后,我创建了另一个游标来分别检索“id”以及同时检索“clob”的游标,然后使用该id更新表。
我现在正在处理 Oracle 数据清理任务,并且有如下要求:
有 38 个表(将来可能更多),每个表都有一个或多个列,类型为 Clob。我需要在这些列中找到不同的关键字,并根据逻辑返回列的二进制标签并将其存储在新列中。
例如,有一个表“myTable1”,它有 2 个 Clob 列“clob1”和“clob2”。我想从这些列中找到关键字“sky”,并将“0”(如果未找到)或“1”(如果找到)存储在两个新列“clob1Sky”、“clob2Sky”中。
我知道我是否可以以静态方式编写它,这将提供更高的效率,但我每次都必须为那些非常相似的任务修改它。我想在这方面节省一些时间,所以我试图以可重用的方式编写它,而不是绑定到某个表。
但是我在编写程序时遇到了一些问题。我的程序如下:
大多数 DML 和 DDL 都是以动态 sql 方式编写的。
问题是当我写 (5) 部分时,我注意到'Where current of' 子句不能在引用游标或动态 sql 语句中使用。所以我必须改变计划。
我尝试使用记录(rowid,label)来存储结果并稍后更改表。(该表仅供我组中的两个人使用,因此不会出现锁定和数据更改的问题)。但我发现因为我正在尝试使用动态 sql,所以实际上我必须定义 ref 游标,返回某些 %rowtype 和基本上所有其他变量, %type 在动态 sql 语句中。这让我觉得我的方法有问题。
我的问题是:
如果有办法在动态 sql 中定义 %type?将类型绑定到动态 SQL 中的变量?
谁能给我一个提示如何在动态 SQL 中编写 (5) 部分?
我不应该这样设计我的程序吗?
这不是如何使用动态SQL或PLSQL的方式吗?
我对 PL/SQL 很陌生。非常感谢。
oracle - 如何在 PL/SQL 块中打印游标?
我似乎无法打印光标,我做错了什么?
我收到以下错误:
大多数代码是直接从 SQL 开发人员运行函数中获取的。
这是包函数:
此外,我无法使用select
语句打印结果,因为该函数也具有 DML。