設定ファイル†
setコマンドなどの設定はユーザホームディレクトリにlogin.sqlを作成しておくと毎回実行しなくてもよいので楽。
自分だけ | /login.sql |
全体共通 | $ORACLE_HOME/sqlplus/admin/glogin.sql |
SQL*Plusを見やすくする設定†
set linesize 1000
set colsep ,
set trimspool on
set pagesize 0
SQLの実行時にバインドさせる†
- 以下のように&をつけると実行時に値をプロンプトから入力できる
select * from &TABLE_NAME;
表示を見やすくする†
- そのままだと一行あたりの文字数が少なく、折り返しが発生して非常に見にくい。
set linesize 1000
set pagesize 10
実行時間を表示†
set timing on
set time on
SQLファイルの実行†
@ファイル名
CSV出力†
- 以下を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†
一行の表示桁を調整する | set line 400 |
カラムの表示桁調整 | set num 50 |
文字列置換 | c/置き換え前/置き換え後/ |
前回実行のSQL表示 | LIST |
SQLTips†
時間以下を切り捨てて比較 | TRUNC(DATETIME型フィールド,'DD') = TO_DATE('2010-03-29','YYYY-MM-DD') |
実行計画の表示†
- 通常のSQL実行と実行計画を両方出すことができる。
set autotrace on explain | 実行計画と実行結果を表示する |
set autotrace traceonly | 実行計画と統計情報を表示し、結果は取得しない |
set autotrace off | 実行計画を表示しない |
実行計画の意味†