我想返回表中的所有行和字段,其中表名和字段名都未提前知道。喜欢的东西:如何在Oracle SQL Select语句中动态命名表?
select * from [TABLENAME]
这另一种方法看起来很有希望,但select * from test_cursor
给“试图访问其类型是不知道项目的行...” https://stackoverflow.com/a/101064/209942
EXECUTE IMMEDIATE
很有前途,但我读取返回多行需要光标,我找不到示例。
首选一种非常简单快速的解决方案(即希望避免逐行处理)。
想避免创建一个函数或过程,但也许这是不可避免的。也许我需要使用表函数?
也许类似以下内容?
CREATE OR REPLACE FUNCTION GetTable(table_name CHAR)
BEGIN
EXECUTE IMMEDIATE 'CREATE TABLE temp_table
AS (SELECT * FROM :1)' USING table_name;
END;
SELECT * FROM table (temp_table)
THX
格纹包[ DBMS_SQL](https://docs.oracle.com/database/121/ARPLS/d_sql.htm#ARPLS058),那么您可以执行完整的动态SQL语句。 –