Oracle 动态“SQL 选择”查询记录类型

Posted

技术标签:

【中文标题】Oracle 动态“SQL 选择”查询记录类型【英文标题】:Oracle Dynamic 'SQL select' query record type 【发布时间】:2011-06-25 14:35:20 【问题描述】:

动态请求如下所示:

request := 'select * from ' || param_table_name || ' where ' || column_name_list;

然后我做:

open cur1 for request;

通过cur1 获取的记录的确切类型直到运行时才知道,因为它不应该对应用此过程的任何表施加任何限制。但是,我该如何遍历查询返回的内容呢?

【问题讨论】:

【参考方案1】:

PL/SQL 游标不能用于编译时间未知的列。

在 PL/SQL 中使用完全动态查询的唯一方法是使用 PL/SQL 包 DBMS_SQL

更新:

Oracle 对DBMS_SQL 包进行了全面的描述,并附有许多示例。

【讨论】:

我知道有这样的包。这就是我所知道的一切,除非你告诉更多:) 我已经添加了一个指向包描述的链接。

以上是关于Oracle 动态“SQL 选择”查询记录类型的主要内容,如果未能解决你的问题,请参考以下文章

ORACLE PL/SQL:使用集合的动态 SQL 选择

Oracle SQL-选择OAF文件版本历史记录

SQL选择动态记录数

Oracle SQL 选择不同的查询以返回特定的行数

如何从 Java 中的 Oracle SQL 选择中获取原始脚本输出而不是查询结果

如果我需要引用表记录的条件,如何创建高性能 SQL 选择查询?