置換変数とは
置換変数を使うと、入力したSQLの一部を、実行前に書き換えることができる。この機能はSQL*Plus及びSQL Developerで使用できる。
置換変数を利用するには、書き換えたい箇所に「&<変数名>」を指定する。
対話的に指定する方法
置換変数を含むSQL実行時に置換変数の値の入力を求めるプロンプトが表示されるため、これに入力する。
SQL> SELECT empno,ename,sal,deptno
2 FROM employees
3 WHERE deptno = &deptno;
deptnoに値を入力してください: 10
旧 3: WHERE deptno = &deptno
新 3: WHERE deptno = 10
EMPNO ENAME SAL DEPTNO
---------- ---------------------------------------- ---------- ----------
1001 佐藤 500000 10
1008 中村 245000 10
1014 佐々木 230000 10
DEFINEコマンドで指定する方法
DEFINEコマンドで置換後の値をあらかじめ指定することができる。夜間などにSQLスクリプトを自動実行する場合に便利である。
SQL> DEFINE deptno = 20
SQL> SELECT empno,ename,sal,deptno
2 FROM employees
3 WHERE deptno = &deptno;
EMPNO ENAME SAL DEPTNO
---------- ---------- ---------- ----------
1002 鈴木 200000 20
1005 渡辺 280000 20
1009 小林 300000 20
1011 加藤 110000 20
1013 山田 280000 20