知ってる人は知っているSQLPLUSの小技

1、put_lineの空白問題
set serveroutput on
exec dbms_output.put_line('   abc');
頭の空白を表示したいなら「format wrapped」オプションを使えばOK
set serveroutput on format wrapped
exec dbms_output.put_line('   abc');
2、空行エラー
このSQL文をコピーして実行してみてください。
select deptno, empno, ename
from emp

where empno = '7788';
すると、空行があるため下記のようにエラーになる
SQL> select deptno, empno, ename
  2  from emp
  3
SQL> where empno = '7788';
SP2-0734: unknown command beginning "where empn..." - rest of line ignored.
解決策として下記のコマンドを使う
SET SQLBLANKLINES ON
3、
こんな経験ないでしょうか?
SQL文を打ってる最中にカラム名が忘れて、
今まで打ったSQL文を消してカラム名を探す・・・
この場合「#」を利用すればOK
SQL> select
  2  #desc test
 Name                   Null?    Type
 ---------------------- -------- ------------
 ID                              NUMBER
 NAME                            VARCHAR2(30)

  2  name from test;

no rows selected
4、HTML出力
8iよりHTML出力が可能となった
set markup html on spool on
spool /tmp/test.html
select * from v$database;
spool off
5、前回SQL文の部分置換

SQL> select 'abc' from dual;

'AB
---
abc

SQL> c/'abc'/sysdate
  1* select sysdate from dual
SQL> /

SYSDATE
---------
25-MAY-10
6、前回SQL文の条件追加
SQL> select sysdate from dual;

SYSDATE
---------
25-MAY-10

SQL> a  where 1=2
  1* select sysdate from dual where 1=2
SQL> /

no rows selected
注意:コマンド「a」の後にスペース2個が必要です!!