gpt4 book ai didi

oracle - 空 Oracle REF CURSOR 中的列名

转载 作者:行者123 更新时间:2023-12-01 01:27:59 39 4
gpt4 key购买 nike

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

TO_CHAR of an Oracle PL/SQL TABLE type

这是一个绝妙的技巧。但是当 REF CURSOR 时它不起作用是空的,比如这里的这个(那只是一个例子。真正的光标不是从 DUAL 中选择的):

OPEN cursor FOR SELECT 1 FROM DUAL WHERE 1 = 0;

是否为空 REF CURSOR甚至有列名/类型信息?

最佳答案

AFAIK,无法从 REF CURSOR 获取元数据直接来自 PL/SQL。奇怪的是,一个 REF CURSOR映射到 Java 的 ResultSet ,可以通过调用其 ResultSet.getMetaData 来查询元数据方法。

所以你可以生成一个 Java 的存储过程来为你做这件事。 Here你可以找到一个例子。

另一种选择是使用 DBMS_SQL.TO_CURSOR_NUMBER 将光标转换为数字光标。 (仅在 11g 中),可以使用 DBMS_SQL 请求元数据包裹。

关于oracle - 空 Oracle REF CURSOR 中的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6544922/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com