ITコンサルの日常

ITコンサル会社に勤務する普通のITエンジニアの日常です。

SQLを実行したときに、元のSQLも一緒に表示する

cシェルでsqlplusを実行するときに、

sqlplus user/pass@service <<EOF
select count(*) from hoge
/
EOF

みたいなことをやると、結果に「select count(*) 〜」が出力されず、件数しか出てこないので、何テーブルが何件なのか?ということが分からないというオチがあります。
で、set echo onとかやればいくんじゃないの?と思ったのですが、これは、
>@moge.sql とか、
>start moge.sql とか、
やったときのみ有効なオプションらしい。
でマニュアルを読んでみると、/だと元のSQL(というかバッファ)は表示せず、RUNだと表示するみたいなことが書いてあった。で、早速、

sqlplus user/pass@service <<EOF
select count(*) from hoge

RUN
EOF

みたいにやってみると、無事元のSQLが表示されました。(SQLとRUNの間の一行は、バッファ入力終了の意味あり)
いつぞやのset feed onの話にしても、結構微妙なのが多いなぁ。