我想返回表中的所有行和字段,其中表名和字段名都未提前知道。喜歡的東西:如何在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語句。 –