以下のSqlからすべてのテーブル名を取得するには?私のSQLは、最後のテーブル名だけを返します。OracleでREGEXヘルプが必要
with t as
(select 'select col1,
(select max(col3) from dd3) max_timestamp
from dd1,
dd2
where dd1.col1 = dd2.col1
and dd1.col1 in(select col1 from dd4)' sql_text from dual)
select regexp_substr(regexp_substr(upper(sql_text), '\sFROM\s*(\w|\.|_)*'), '(\w|_|\.)+', 1,2)
from t
ありがとう、 DD。
コードに動的SQLがない場合は、参照してください--http://stackoverflow.com/questions/4852993/query-to-search-all-packages-for-table-and-or-column – OldProgrammer
おかげでサム。我々は、レポートツールのログファイルからSQLのテキストをキャプチャし、今我々はそれを解析し、それが使用しているすべてのテーブル、ビュー、関数を抽出する必要があります。 – Nagma