Anwenderfreundliches parametrisiertes SQL-Script direkt in SQLPlus ohne Login an eine ORACLE Datenbank ausführen
Als Oracle Berater/Consultant musste ich schon so einige SQL-Scripte erstellen. Oft werden diese SQL-Scripte dann auch von NICHT ITlern ausgeführt, um z.B. eine Datenauswertung zu starten oder eine bestimmte Statistik auszuführen.
Das bedeutet für mich als Berater/Consultant ein „wasserdichtes“ SQL-Script zu entwickeln. Ich möchte dem Endnutzer nicht zumuten, sich in den Untiefen von SQLPLUS auskennen zu müssen.
Daher bietet sich ein parametrisiertes SQL-Script mittels ACCEPT-Befehl an.
Der Endnutzer muss lediglich den initialen Aufruf des SQL-Scriptes kennen, ggf. wird eine Verknüpfung (sofern unter Windows gearbeitet wird) erstellt, um auch diesen Aufruf zu kapseln.
1 |
sqlplus /NOLOG @C:BESSERDICH_IT_CONSUTLINGPARA_SQL_SRIPT.sql |
Ganz bewusst wurde die /NOLOG Option von SQLPLUS verwendet, weil erst zur Laufzeit des Scriptes die Verbindungsdaten der ORACLE Datenbank angegeben werden sollen.
Im weiteren Verlauf des Scriptes werden alle für das SQL-Script erforderlichen Informationen direkt vom Anwender abgefragt.
In dem folgenden Beispiel werden die Verbindungsdaten der Datenbank abgefragt, sowie ein Parameter geschaeftsstelle, welcher im weiteren Scriptverlauf verwendet werden kann, definiert.
1 2 3 4 5 6 7 8 9 |
ACCEPT datenbank CHAR PROMPT "Geben Sie den Datenbankname an (Default BESSERDICH_DB): " DEFAULT BESSERDICH_DB ACCEPT dbuser CHAR PROMPT "Geben Sie den Datenbankbenutzer an (Default STATISTIK): " DEFAULT STATISTIK ACCEPT password CHAR PROMPT "Passwort fuer den Datenbanknutzer: " HIDE ACCEPT geschaeftsstelle CHAR PROMPT "Geben Sie den Namen der Geschaeftsstelle an, fuer die die Statistik erstellt werden soll (Default Berlin): " DEFAULT Berlin PROMPT Verbindung zur Oracle Datenbank &datenbank mit dem Datenbankbenutzer &dbuser wird ausgeführt connect &dbuser/&password@&datenbank ... Verarbeitung ... |
1 KOMMENTAR
