|
以下のORACLE用のSQLをお年玉?として公開いたします。
1.カレントスキーマ(ユーザ)のテーブルのデータを出力するSQLを生成するSQL
select 'SELECT * FROM '||TABLE_NAME||';' from user_tables order by table_name;
生成されたSQL例
SELECT * FROM BONUS;
SELECT * FROM DEPT;
SELECT * FROM EMP;
SELECT * FROM SALGRADE;
2.カレントスキーマ(ユーザ)のテーブルのレコード数をカウントするSQLを生成するSQL
select 'SELECT '''||table_name ||'''||'',''|| COUNT(*) FROM '||TABLE_NAME||';' from user_tables order by table_name;
生成されたSQL例
SELECT 'BONUS'||','|| COUNT(*) FROM BONUS;
SELECT 'DEPT'||','|| COUNT(*) FROM DEPT;
SELECT 'EMP'||','|| COUNT(*) FROM EMP;
SELECT 'SALGRADE'||','|| COUNT(*) FROM SALGRADE;
3.「select * from table_name」を出力するSQLを生成するSQL
※table_nameはスキーマ(ユーザ)に属するテーブルです。
SELECT 'select ''select * from '||table_name||''' from user_tables where table_name='''||table_name||''';' from user_tables order by table_name
生成されたSQL例
select 'select * from BONUS' from user_tables where table_name='BONUS';
select 'select * from DEPT' from user_tables where table_name='DEPT';
select 'select * from EMP' from user_tables where table_name='EMP';
select 'select * from SALGRADE' from user_tables where table_name='SALGRADE';
なんだと思われると思いますが、使い方によりますがかなり有効です。
その使い方とは・・・・・
なお、出し惜しみしているわけでありませんので。
|