Oracleデータベース内の全テーブルの一覧を取得するPL/SQLを作ってみた。
- table_list.sql
set echo off set heading off set pagesize 0 set linesize 10000 set trimout on set trimspool on set feedback off col spool_file_name new_value spool_file_name format a100 select 'table_list_'||to_char(sysdate,'YYYYMMDDHH24MISS') || '.csv' spool_file_name from dual; spool &spool_file_name select 'owner,table_name' header from dual; select owner||','||table_name from dba_tables; spool off exit
実行してみるとこんな感じ。
$ sqlplus system/manager @table_list.sql
$ head -3 table_list_20090630140347.csv
owner,table_name
SYS,TAB$
SYS,USER$