Oracle PL/SQL Grundkurs

Die Verzweigung mit dem IF-Ausdruck

Testen Sie unsere 1983 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Lassen Sie sich in diesem Video vom Trainer zeigen, wie man mit der IF-Verzweigung logische Entscheidungen programmiert.

Transkript

Eine logische Entscheidung kann in PL/SQL mit einem if-Ausdruck realisiert werden. In diesem Video werde ich Ihnen den if-Ausdruck anhand unseres BMI-Programms zeigen. Den if-Ausdruck brauchen wir dort, weil der Benutzer je nach Ergebnis der BMI-Berechnung normal-, unter- oder übergewichtig ist. Ich werde jetzt zunächst mal wieder die Datei kap02_bmi.sql öffnen. (Stille) Und dann werde ich diese Datei unter einem anderen Namen abspeichern, und zwar unter kap03_bmi. Und dann füge ich hier einfach so ein IF hinzu, damit Sie die nachher auf dem Server wiederfinden. (Stille) Ich werde hier zunächst zwei Konstanten hinzufügen, die den Grenzwert für das Übergewicht und das Untergewicht anzeigen. Ich werde die Konstanten mit großen Buchstaben setzen, damit sie als solche erkannt werden. Die Konstanten nenne ich BMI_MIN und BMI_MAX. Und zwar setze ich die hier drunter. (Stille) Hinter den Namen der Konstanten muss das Schlüsselwort CONSTANT gesetzt werden. (Stille) Den Datentypen werde ich jeweils auf NUMBER 4, 2 setzen. Also: NUMBER Und dann: 4, 2 Das sind dann zwei Vorkommastellen und zwei Nachkommastellen. Bei Konstanten muss die Initialisierung im Deklarationsabschnitt vorgenommen werden, denn ansonsten würde eine Fehlermeldung erscheinen. Der Wert der Konstanten kann sich im Gegensatz zum Wert der Variablen nämlich dann später nicht mehr ändern. Und der BMI-Wert BMI_MIN, der ist 18,50. Und dann haben wir noch den Maximalwert. (Stille) Der liegt bei 24,99. CONSTANT NUMBER So. 24,99. Den if-Ausdruck leiten wir über das Schlüsselwort IF ein. Und nach dem Schlüsselwort IF muss ein boolescher Wert oder ein logischer Vergleich eingefügt werden, der als Ergebnis dann wiederum einen booleschen Wert liefert. Wenn wir also abfragen möchten, ob der ermittelte Wert oberhalb der oberen BMI-Grenze liegt, sähe das so aus: Ich müsste dann hier schreiben: bmi BMI_MAX Und dann THEN. Hinter dem logischen Vergleich wird also das Schlüsselwort THEN hinzugefügt. Wenn der logische Vergleich bmi BMI_MAX "true" ergibt, springt das Programm dann automatisch in diese nachfolgende Anweisung. Nach dem Schlüsselwort THEN werden wir in unserem Programm Programm jetzt den Text "Uebergewicht" ausgeben. Deswegen werde ich jetzt mal diese Zeile kopieren und hier reinfügen. Und jetzt muss ich dort nur das hier ersetzen, (Stille) mit dieser Zeichenkette "Uebergewicht". Der if-Ausdruck wird abgeschlossen über die Schlüsselwörter END und IF. (Stille) Und zwar so. (Stille) Das heißt hinter dem END IF erfolgt dann eben auch ein Semikolon. Und schon sind wir fertig. So sähe also der if-Ausdruck aus, wenn wir lediglich auf ein Übergewicht reagieren wollten. Nun fehlt aber noch eine zweite Abfrage, mit der wir überprüfen möchten, ob der BMI-Wert unterhalb der unteren Grenze liegt. Um eine zweite Abfrage hinzuzufügen, setzen wir das Schlüsselwort ELSIF ein. Ich kopiere jetzt mal diese beiden Zeilen. (Stille) Transferiere das IF zu einem ELSIF, wandele das so um und bin dann auch schon fast fertig. Ich muss nur hier an der Stelle sagen, wenn BMI kleiner BMI_MIN ist, (Stille) dann gib aus: "Untergewicht". (Stille) Diese Abfrage wird also nur durchlaufen, wenn die logischen Abfragen darüber alle "false" lieferten. Nun geben wir in zwei Fällen Meldungen heraus. Und zwar dann, wenn der BMI-Wert oberhalb und wenn der BMI-Wert unterhalb der Grenzwerte liegt. Um auch dann eine Ausgabe zu tätigen, wenn der BMI-Wert zwischen der Ober- und der Untergrenze liegt, könnten wir Folgendes schreiben: Und zwar kopiere ich wieder den Teil hier hin. (Stille) Und dann könnte ich hier schreiben: ELSIF BMI BETWEEN Wenn Sie sich mit SQL auskennen, werden Sie das BETWEEN wiedererkennen. Und hier: AND Und dann: BMI_MAX THEN Und dann müssten wir dort "Normalgewicht" ausgeben. Genauso wie BETWEEN und AND bietet PL/SQL auch andere Schlüsselwörter des ANSI-SQL an, wie beispielsweise das OR, NOT, LIKE, IS NULL und so weiter. Wir werden auf diese ganzen Schlüsselwörter nicht eingehen. Das ist auch nicht nötig, weil sie im Grunde genommen genauso wie bei ANSI-SQL genutzt werden können. (Stille) Wir gehen aber noch mal auf diesen Ausdruck hier ein. Und zwar ist es ja so, dass wir mit den Schlüsselwörtern BETWEEN und AND an dieser Stelle sagen wollen, dass alle übrigen BMI-Werte auf ein Normalgewicht hindeuten. Deshalb können wir an dieser Stelle stattdessen auch Folgendes sagen: Wir können nämlich das Ganze hier auch einfach nur mit ELSE ersetzen. Das wäre dann gleichbedeutend. (Stille) Und Sie hätten jetzt dann auch alle Schlüsselwörter kennengelernt, die es bei dem if-Ausdruck gibt. Nämlich das IF, das THEN, das ELSIF, das ELSE und den Abschluss mit END IF. Ich werde dieses Programm jetzt mal ausprobieren. Und zwar speichere ich es ab, schließe die Datei und führe sie aus. start kap03 haben wir sie ja genannt. _bmi_IF Und jetzt muss ich wieder meine Körpergröße eingeben. (Stille) Ein Körpergewicht. (Stille) Und dann sehen Sie, dass dort die Ausgabe "Normalgewicht" erscheint. In diesem Video habe ich Ihnen gezeigt, wie man die Schlüsselwörter IF, THEN, ELSIF, ELSE und END IF einsetzt, um je nach Ergebnis von logischen Abfragen unterschiedlich zu verzweigen.

Oracle PL/SQL Grundkurs

Entdecken Sie grundlegende Programmstrukuren, Stored Procedures und Functions in PL/SQL und sehen Sie, wie Sie auf Daten zugreifen können.

3 Std. 58 min (32 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!