- 追加された行はこの色です。
- 削除された行はこの色です。
-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]