 |
IF db <dbsystem> |
Mit diesem Kommando besteht die Möglichkeit, eine Anweisung abhängig vom verwendeten DB-System
auszuführen. Die als <dbsystem> verwendbaren Ausdrücke sind:
- ACCESS
- Microsoft SQL Server
- Informix
- Oracle
Beispiel:
If db ACCESS
SELECT count (*) FROM uf
Der Befehl SELECT ... wir hier nur ausgeführt, wenn die verwendete Datenbank eine
ACCESS-Datenbank ist.
SYNTAX:
If db <dbsystem> [Then] ... [Endif]
Die Verwendung von [Then] ...[Endif] ist optional.
IF/ IF NOT EXIST
Ebenso besteht die Möglichkeit, zu überprüfen, ob eine Tabelle oder
Spalte (nicht) vorhanden ist. Hierzu stehen dem Benutzer verschiedene Kommandos zur
Verfügung:
1.
IF EXIST COLUMN <Tab>,<Col>
Mit diesem Kommando kann bestimmt werden, ob das folgende Kommando ausgeführt werden soll,
je nachdem, ob eine spezielle Spalte <Col> in der Tabelle
<Tab> vorhanden ist.
IF EXIST COLUMN akz.angefordert
SELECT angefordert FROM akz
Hier wird kontrolliert, ob in der Tabelle akz eine Spalte angefordert
existiert.
Existiert sie, so wird der Befehl in der zweiten Zeile ausgeführt.
2.
IF EXIST TABLE akz
Select * FROM akz
Es wird überprüft, ob eine Tabelle akz existiert. Existiert diese, so wählt
die zweite Kommandozeile alle Daten aus der Tabelle aus.
Die folgenden Kommandos sind die negierten Befehle zu IF EXIST COLUMN/TAB
3.
IF NOT EXIST COLUMN <Tab>.<Col>
Mit diesem Kommando kann - je nachdem, ob die Spalte <Col> in der Tabelle
<Tab> nicht vorhanden ist - weiter verfahren werden.
4.
IF NOT EXIST TABLE <Tab>
Mit diesem Kommando kann - je nachdem, ob die Tabelle
<Tab> nicht vorhanden ist - weiter verfahren werden.
5.
IF (NOT) EXIST (Select * From sba_pflege Where ber_nr = 4)
Mit diesem Kommando kann - je nachdem, ob bestimmte Dateneinträge vorhanden sind - weiter verfahren werden.
Achtung:
- Es wird nach einem IF EXIST / IF NOT EXIST immer nur das direkt folgende Kommando
ausgeführt
- Wenn mehrere Kommandos nur dann ausgeführt werden sollen, wenn ein Spalte/Tabelle
existiert oder nicht, muss vor jedem dieser Komandos die IF-Abfrage stehen