0

SQL*Plus で出力ファイルに進行状況を書き込めるようにしようとしていますが、これはレポートとしてある程度表示できるようにする必要があります。つまり、アプリケーション固有の望ましくない形式を持たないようにしています。特に、すべての行が始まるように見える SQL> を取り除きたいと思います。これは、sqlplus を呼び出すシェル スクリプトです。

#!/usr/bin/ksh

$ORABIN/sqlplus $ORADBUSER/$ORADBPASSWD@$ORADB<<!!>./orclTest.log

SELECT 'IN sqlplus' AS MESSAGE1 FROM dual;


VARIABLE rowCnt number;
BEGIN
SELECT COUNT(*) INTO :rowCnt FROM dual;
END;
/

SELECT 'Dual has ' || :rowCnt || ' rows' AS MESSAGE2 FROM  dual;


!!

これを実行すると、orclTest.log に次のように記録されます。

SQL*Plus: Release 10.2.0.3.0 - Production on Mon Oct 22 18:06:02 2012

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options

SQL> SQL>
MESSAGE1 
----------
IN sqlplus

SQL> SQL> SQL> SQL>   2    3    4
PL/SQL procedure successfully completed.

SQL> SQL>
MESSAGE2
------------------------------------------------------
Dual has 1 rows

ヘッダーやプレフィックス、出力のみなど、標準のフォーマットを提供しないようにsqlplusに指示する方法は次のとおりです。

MESSAGE1 
----------
IN sqlplus


MESSAGE2
------------------------------------------------------
Dual has 1 rows
4

1 に答える 1

3

SQL>プロンプトを省略したい場合

 set sqlprompt ''

複数行のステートメントで後続の行を示すために印刷されている数字を削除したい場合

set sqlnumber off
于 2012-10-22T22:22:50.337 に答える