このプロシージャからの出力を新しい sql ファイルにスプールする必要があるプロシージャがあります。
CREATE OR REPLACE PROCEDURE lock_users_prep
AS
username varchar2(60);
BEGIN
FOR user IN (SELECT username
FROM dba_users WHERE username NOT IN (SELECT name FROM hr.katastr_users))
LOOP
dbms_output.put_line('alter user "'||user.username||'" account lock;');
END LOOP;
END;
/
set heading off arraysize 1 pages 0 feedback off echo off verify off
SPOOL lockall.sql
EXEC lock_users_prep
SPOOL OFF lockall.sql
しかし、私のファイル lockall.sql には、次のような最初の行がまだあります。
> EXEC lock_users_prep
alter user "SYSTEM" account lock;
alter user "SYS" account lock;
alter user "OLAPSYS" account lock;
最初の行を削除する必要があります。どの set コマンドを使用するかについてのアイデアはありますか?