私は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 番目のパラメーターをクエリに反復処理するのを手伝っていただければ、それは素晴らしいことです。