以下のスクリプトを .sql ファイルで実行しています。Windows コマンド ライン コンソールを使用して sqlplus を呼び出しています。スクリプトが終了すると、INSERT ステートメントによって追加されたレコードの数が表示されないことを除いて、すべてが正常に見えます。以下にも出力が表示されます。
脚本
WHENEVER SQLERROR EXIT 1 ROLLBACK
WHENEVER OSERROR EXIT 1 ROLLBACK
SET FEEDBACK ON
SET VERIFY ON
BEGIN
DBMS_OUTPUT.put_line('Output Nothing');
END;
/
INSERT INTO .........
COMMIT;
QUIT;
/
出力表示
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Apr 9 22:08:47 2012
Copyright (c) 1982, 2005, 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
PL/SQL procedure successfully completed.
Commit complete.
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64
bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
TOAD/SQLNavigator などのツールで同じ SQL を実行すると、追加された行数を確認できました (下の ** マークの行を参照)。
TOAD に表示される出力
Processing ...
SET FEEDBACK ON
SQL*Plus command ignored.
Processing ...
SET VERIFY ON
SQL*Plus command ignored.
Processing ...
BEGIN
DBMS_OUTPUT.put_line('Doing Nothing');
END;
Doing Nothing
Processing ...
INSERT INTO .......
**11 row(s) inserted**
Processing ...
COMMIT
Processing ...
QUIT;
SQL*Plus command ignored.
このスクリプトを simple で実行した場合でも、この SQL の影響を受ける行数を取得するのに役立つと思われる設定を教えてください'sqlplus'
。