したがって、実行時にのみ識別できるテーブルからレコードを選択する必要があります。これは私が得たものですが、少し立ち往生しています。これをより簡単に/正しく行う方法についてのヘルプ、提案、または指摘をいただければ幸いです。
DECLARE
TABLE_NAME VARCHAR2(255);
QUERY_STR VARCHAR2(1000);
BEGIN
SELECT CASE WHEN UPPER(APP.MODULE_LONG_NAME) LIKE 'PLEDGE%' THEN 'PLEDGE_HDR' ELSE 'CONTACT_HDR' END
INTO TABLE_NAME
FROM REQST_HDR RH
INNER JOIN LKUP_REQST_TYPE LRT ON LRT.REQST_TYPE_ID = RH.REQST_TYPE_ID
INNER JOIN APP_MODULE_MSTR APP ON APP.MODULE_ID = LRT.MODULE_ID;
QUERY_STR := 'SELECT * FROM ' || TABLE_NAME || '--MORE FILTERING';
--SOMEHOW SHOW RESULTS OF QUERY_STR IN TABLE FORM.
END;
更新 - 解決策を機能させることができなかったので、とにかくクエリのベースとなるテーブルが2つしかなかったため、COALESCEを使用することになりました。答えてくれたみんなありがとう。