SQLPLUS Script – Wertebereich der Übergabeparameter prüfen
Das folgende SQLPLUS Script prüft übergebene Parameter auf von Ihnen definierte Wertebereiche, sodass Fehleingaben, sei es durch einen manuellen oder automatisierten Aufruf, vermieden werden.
Stimmt ein Parameter nicht mit dem Wertebereich im SQLPLUS Script überein, wird eine aussagekräftige Oracle Fehlermeldung ausgegeben.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
/*********************************************** * * Author: Karsten Besserdich * Firma: Besserdich IT Consulting * Date: 30.07.2012 * URL: http://www.besserdich.com * EMail: karsten.besserdich@besserdich.com * * SQLPlus Script enthaelt 2 Parameter, die entweder * durch Scriptparameter gesetzt werden koennen, * oder bei einer manuellen Ausfuehrung ohne * Angabe der Parameter mittels Eingabeprompt * abgefragt werden. * * Des Weiteren wird eine Pruefung des Wertebereiches * der uebergebenen Parameter durchgefuehrt. * Wird ein Parameter falsch belegt, so wird das * SQLPLUS Script abgebrochen und eine aussagekraeftige * Oracle Fehlermeldung ausgegeben. * ************************************************/ WHENEVER SQLERROR EXIT; SET SERVEROUTPUT ON; SET VERIFY OFF; PROMPT Bitte geben Sie den Wert fuer Parameter 1 ein [0|1] (Mit ENTER -> DEFAULT 0): SET TERMOUT OFF DEFINE _PARAMETER_01 =&1 0 SET TERMOUT ON -- Für den Parameter 01 wird nun der Wertebereich abgeprüft. Stimmt dieser nicht, wird das Script abgebrochen BEGIN IF '&_PARAMETER_01' NOT IN ('0','1') THEN -- es kann jeder RAISE_APPLICATION_ERROR (-20001,'Falscher Wertebereich fuer Parameter 1. Erlaubt ist 0 oder 1. Aktueller Wert <''&_PARAMETER_01''>'); END IF; END; / PROMPT Bitte geben Sie den Wert fuer Parameter 2 ein [JA|NEIN] (Mit ENTER -> DEFAULT JA): SET TERMOUT OFF DEFINE _PARAMETER_02 =&2 JA SET TERMOUT ON -- Für den Parameter 02 wird nun der Wertebereich geprueft. Stimmt dieser nicht, wird das Script abgebrochen BEGIN IF '&_PARAMETER_02' NOT IN ('JA','NEIN') THEN RAISE_APPLICATION_ERROR (-20002,'Falscher Wertebereich fuer Parameter 2. Erlaubt ist JA oder NEIN. Aktueller Wert <''&_PARAMETER_02''>'); END IF; END; / PROMPT PROMPT Ihre getroffene Auswahl PROMPT *********************** PROMPT PROMPT Parameter 01: &_PARAMETER_01 PROMPT Parameter 02: &_PARAMETER_02 PROMPT EXIT |
Weitere Informationen zum Aufrufen des Scriptes erhalten Sie in dem Post SQLPLUS Script Parameterübergabe mittels CommandLine oder Prompt.
SCHREIBEN SIE EINEN KOMMENTAR