最近業務関連でOracleやMySQLを使用することが増えて色々調べ物をする機会があったので、その際のちょっとした忘備録
ストアド・プロシージャのテキストソースを調べるには...
ViewのテキストはDBA_VIEWSの中にデータがあるが、DBA_PROCEDURESには類似のカラムは存在しない。
プロシージャやファンクションのテキストを知りたいときはDBA_SOURCESから抽出する必要がある。
DBA_SOURCES
Oracle公式のドキュメントはこちら
公式ドキュメントを参照していただいてもわかるかと思うが、DBA_SOURCESはテキストソース1行ずつをデータとして持っている。
そのため、
badExample
select * from dba_sources where name="***"
単純に抽出するのではダメで、
goodExample
select text from dba_sources where name="***" order by line
綺麗に抽出する場合は逐一このようにtextだけをlineカラムでソートして表示する必要がある。