Помните, у меня сейчас нет экземпляра Oracle, поэтому вам может понадобиться выполнить некоторые ваши собственные работы, чтобы отлаживать то, что я написал из памяти.
Ответ 2
Очень похоже на Marc, только различие, которое я бы сделал, было бы привязать к параметру так:
WHENEVER SQLERROR EXIT 1
SET LINES 32000
SET TERMOUT OFF ECHO OFF NEWP 0 SPA 0 PAGES 0 FEED OFF HEAD OFF TRIMS ON TAB OFF
SET SERVEROUTPUT ON
spool &1
-- Code
spool off
exit