Databases Reference
In-Depth Information
END;
Der Aufruf
EXECUTE Hallo2('Urs',23,NULL);
mit der Ausgabe
Urs ist 23 Jahre und von Beruf.
zeigt, dass NULL-Werte bei Ausgaben nicht erscheinen, auch
nicht als einfaches Leerzeichen ausgegeben werden.
Wie in anderen Programmiersprachen auch, gibt es Befehle für
Alternativen und Schleifen. Dabei zeigt sich, dass Anfänger
meist mehr Probleme mit der etwas gewöhnungsbedürftigen
Syntax als mit der eigentlichen Programmierung bei einfachen
Übungen haben.
Die Alternative sieht allgemein wie folgt aus:
IF <Bedingung>
THEN <Block>
[ ELSIF <Bedingung> THEN <Block> ]
...
[ ELSIF <Bedingung> THEN <Block> ]
[ ELSE <Block>]
END IF;
Bedingungen müssen nicht in Klammern stehen. Blöcke stehen
für einfache Folgen von PL/SQL-Befehlen. Dabei kann ein Block
auch mit BEGIN beginnen und mit END enden. Es handelt sich
dann um einen lokalen Block, bei dem man am Anfang lokale
Variablen deklarieren kann, die nicht außerhalb benutzt wer-
den dürfen. Blöcke dürfen an beliebigen Stellen stehen, an de-
nen auch Anweisungen erlaubt sind.
Die folgende Prozedur führt einige der genannten Varianten
vor. Beim konkreten Einsatz würde man auf den lokalen Block
hier verzichten, also BEGIN und END einfach streichen. Weiter-
hin sieht man, dass eine Zuweisung mit dem Zeichen := erfolgt
und wie eine lokale Variable zaehler mit dem Startwert 0 dekla-
riert wird. Bei lokalen Variablen werden die bereits bekannten
Datentypen von den Tabellen genutzt, hier werden auch Anga-
ben, wie die maximale Länge eines Textes benötigt. Die Über-
prüfung auf Null-Werte erfolgt wie bei Anfragen mit dem Ver-
gleich IS NULL .
Das Programm erwartet drei Parameter. Für jeden Parameter,
der den Wert NULL hat, wird die Zählvariable zaehler um Eins
PL/SQL-
Alternative
PL/SQL-
Zuweisung
249
Search WWH ::




Custom Search