Oracle Dynamic'SQL select'查询记录类型

vin*_*nes 0 oracle plsql dynamic-sql

动态请求如下所示:

request := 'select * from ' || param_table_name || ' where ' || column_name_list;
Run Code Online (Sandbox Code Playgroud)

然后我做:

open cur1 for request;
Run Code Online (Sandbox Code Playgroud)

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

Cod*_*odo 5

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

要在PL/SQL中使用完全动态查询,只能使用PL/SQL包DBMS_SQL.

更新:

Oracle对DBMS_SQL包进行了全面的描述,并提供了许多示例.