-SQL*Plusのコマンドやテクニック #contents *設定ファイル [#h1006f6e] setコマンドなどの設定はユーザホームディレクトリにlogin.sqlを作成しておくと毎回実行しなくてもよいので楽。 |自分だけ|~/login.sql| |全体共通|$ORACLE_HOME/sqlplus/admin/glogin.sql| **SQL*Plusを見やすくする設定 [#k8515a07] set linesize 1000 set colsep , set trimspool on set pagesize 0 *基本 [#f073eed1] **SQLの実行時にバインドさせる [#c94b2b51] -以下のように&をつけると実行時に値をプロンプトから入力できる select * from &TABLE_NAME; **表示を見やすくする [#rd1b28da] -そのままだと一行あたりの文字数が少なく、折り返しが発生して非常に見にくい。 set linesize 1000 set pagesize 10 **実行時間を表示 [#r62cd8a1] set timing on -プロンプトに時間を表示(あまり役立たない) set time on **SQLファイルの実行 [#f3e78509] @ファイル名 **CSV出力 [#kdd22cd7] -以下をexport.csvとして保存しておき、SQL*Plusから@ファイル名で呼び出す。例としてareaテーブルをarea.csvに出力するサンプル set echo off set linesize 1000 set pagesize 0 set trimspool on set feedback off set termout off set colsep ',' spool area.csv select * from area; spool off **コマンドラインTips [#j612ff1f] |一行の表示桁を調整する|set line 400| |カラムの表示桁調整|set num 50| |文字列置換|c/置き換え前/置き換え後/| |前回実行のSQL表示|LIST| **SQLTips [#w7ca0eb8] |時間以下を切り捨てて比較|TRUNC(DATETIME型フィールド,'DD') = TO_DATE('2010-03-29','YYYY-MM-DD')| *実行計画の表示 [#o08a6e94] -通常のSQL実行と実行計画を両方出すことができる。 |set autotrace on explain|実行計画と実行結果を表示する| |set autotrace traceonly|実行計画と統計情報を表示し、結果は取得しない| |set autotrace off|実行計画を表示しない| **実行計画の意味 [#ba86a763]