□DB2 db2clpで、SQL文を改行コードで切らない方法
db2clpにて、DB2の操作を行う際、通常は改行コード(またはエンターキー押下)単位で、
SQL文1文として実行されます。
(スクリプトファイルを別途用意したり)長いSQL文を実行しようとした場合に、この状況は不便になります。
改行を抑止する場合は、下記の様に\マークで可能ですが、いちいち\マークをつける必要があり、
不便です。
db2 => select * from testtable \
db2 (続き) => where key1 = 111
そこで、OracleのSQL*PLUSの様に、;(セミコロン)で、SQL文を実行させられるようにする方法があります。
db2 -t
として実行するか、環境変数:DB2OPTIONSに-tを設定するか何れかで可能になります。
export DB2OPTIONS=-t
db2 => select * from testtable
db2 (続き) => where key1 = 111
db2 (続き) => ;
;(セミコロン)を入力されるまで、実行されなくなります。
また、;(セミコロン)以外のコードをターミネータにすることも可能です。
db2 -td@
このようにすると、@まで取り込んでから処理されます。
;(セミコロン)がターミネータの場合、ストアドプロシージャなどスクリプト中に;を含んでおり、不都合となりますので、@などをターミネータにすることが有効になります。
最終更新:2007年08月24日 10:12