sql >> Database >  >> RDS >> Oracle

Hoe sql*plus te gebruiken in het Windows-opdrachtscript om de stroom te regelen?

Ik zou waarschijnlijk het script (of het voorwaardelijke, afhankelijk van de vereisten) schrijven vanuit de aangeroepen script.sql zelf.

Bijvoorbeeld de volgende script.sql maakt een .bat-bestand windows_commands.bat :

set feedback off
set echo off
set trimspool on
set termout off
set serveroutput on size 100000 format wrapped
set lines 500
set pages 0

-- create the bat file to be executed later:
spool windows_commands.bat

declare
  c number;
begin

  select count(*) into c from dual;

  -- depending on a conditional, write the stuff to be executed into the
  -- bat file (windows_commands.bat)
  if c = 1 then
     dbms_output.put_line('@echo everthing ok with dual');
  else
     dbms_output.put_line('@echo something terribly wrong with dual');
  end if;

end;
/

spool off

exit

U kunt dan script.sql . aanroepen van nog een ander .bat-bestand zoals zo:

@rem create oracle session, call script.sql
sqlplus %user%/%password%@%db% @script.sql

@rem script.sql has created windows_commands.bat.
@rem call this newly created bat file:
call windows_commands.bat


  1. Propagation altijd ingeschakeld houden in Oracle Streams

  2. Een gegevensmodel om uw kostbaarste bezit bij te houden

  3. Geen dialecttoewijzing voor JDBC-type:2003

  4. Een hint naar PostgreSQL