私は2種類のテーブルを持っています。最初の並べ替えにはTBL$プレフィックスがあり、2 番目の並べ替えにはプレフィックスがありLOG$ます。テーブルがあればLOG$TABLE_NAMEテーブルもありTBL$TABLE_NAMEます。LOG$テーブルはテーブルから生成されるためTBL$です。問題は、oracles テーブルからすべてのユーザー テーブルを検索する場合ですUSER_TABLES。TBL$2つのパラメーターを持つテーブルのみを名前で検索したい。1 つ目は名前で、2 つ目は検索されたテーブルに対応するテーブルがあるかどうかを示す文字列 ('YES' または 'NO) ですLOG$。この 2 番目のパラメーターがないと、クエリは次のようになります。
SELECT ut.table_name AS id,
utc.comments AS comments
FROM user_tables ut
LEFT JOIN user_tab_comments utc
ON ut.table_name = utc.table_name
WHERE SUBSTR(UPPER(ut.table_name), 1, 4) = 'TBL$'
AND TRIM(UPPER(ut.table_name)) LIKE TRIM(UPPER('%'|| :table_name ||'%'))
したがって、この 2 番目のパラメーターをクエリに反復処理するのを手伝っていただければ、それは素晴らしいことです。