1

このプロシージャからの出力を新しい 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 コマンドを使用するかについてのアイデアはありますか?

4

1 に答える 1