FOR UPDATE-Klausel
Die FOR UPDATE
-Klausel sperrt Datensätze für „Positioned Updates“ oder „Positioned Deletes“ über SQL-Cursor. Das Format ist:
FOR UPDATE [OF spaltenausdruecke]
spaltenausdruecke
ist eine Liste von Feldnamen in der Datenbanktabelle, die Sie aktualisieren möchten, getrennt durch ein Komma. spaltenausdruecke
ist optional und wird ignoriert.
Geben Sie alle Datensätze in der Angestellten-Datenbank zurück, die einen GEHALT
-Feldwert von mehr als 20.000 Euro besitzen.
SELECT * FROM ang WHERE gehalt > 20000 FOR UPDATE OF nachname, vorname, gehalt
Wenn jeder Datensatz abgerufen wird, wird er gesperrt. Wird der Datensatz aktualisiert oder gelöscht, wird die Sperre gehalten, bis Sie die Änderung bestätigen. Ansonsten wird die Sperre freigegeben, wenn Sie den nächsten Datensatz abrufen.
Verwenden von |
Beispiel-SQL |
Textkonstante |
Kopieren
|
Zahlenkonstante |
Kopieren
|
Datumskonstante |
Kopieren
|
Zeitkonstante |
Kopieren
|
Zeitstempelkonstante |
Kopieren
|
Textspalte |
Kopieren
|
Zahlenspalte |
Kopieren
|
Datumsspalte |
Kopieren
|
Zeitspalte |
Kopieren
|
Zeitstempelspalte |
Kopieren
|
BLOB-Spalte |
Kopieren
Hinweis Ein BLOB ist ein FileMaker Pro-Datenbankdatei-Containerfeld. |
Jokerzeichen * |
Kopieren
|
Hinweise zu den Beispielen
Eine Spalte
ist ein Verweis auf ein Feld in der FileMaker Pro-Datenbankdatei. (Das Feld kann viele unterschiedliche Werte enthalten.)
Das Jokerzeichen (*) ist eine Abkürzung für „Alles“. Für das Beispiel SELECT * FROM Verkaeufer
ist das Ergebnis alle Spalten in der Tabelle Verkaeufer
. Für das Beispiel SELECT DISTINCT * FROM Verkaeufer
ist das Ergebnis alle eindeutigen Zeilen in der Tabelle Verkaeufer
(keine doppelten Werte).
-
Die FileMaker-Software speichert keine Daten für leere Zeichenfolgen, so dass die folgenden Abfragen immer keine Datensätze zurückgeben:
KopierenSELECT * FROM test WHERE c =''
SELECT * FROM test WHERE c <>'' -
Wenn Sie
SELECT
mit Binärdaten verwenden, müssen Sie die FunktionGetAs()
verwenden, um den zurückzugebenden Stream anzugeben. Siehe Abrufen des Inhalts eines Containerfelds: CAST()-Funktion und GetAs()-Funktion für weitere Informationen.
Abrufen des Inhalts eines Containerfelds: CAST()-Funktion und GetAs()-Funktion
Sie können Dateiverweisinformationen, Binärdaten oder Daten eines angegebenen Dateityps von einem Containerfeld abrufen.
-
Um Dateiverweisinformationen von einem Containerfeld wie den Dateipfad zu einer Datei, einem Bild oder einem QuickTime-Film abzurufen, verwenden Sie die
CAST
-Funktion mit einerSELECT
-Anweisung. -
Wenn Dateidaten oder JPEG-Binärdaten existieren, ruft die
SELECT
-Anweisung mitGetAS(feldname, 'JPEG')
die Daten in Binärform ab. Ansonsten gibt dieSELECT
-Anweisung mit FeldnameNULL
zurück.
Verwenden Sie die Funktion C
AST()
zusammen mit einer SELECT
-Anweisung, um Dateiverweisinformationen abzurufen.
SELECT CAST(Firmenbroschueren AS VARCHAR) FROM Vertriebsdaten
Wenn Sie in diesem Beispiel:
-
eine Datei in das Containerfeld mithilfe von FileMaker Pro eingefügt haben, aber nur einen Verweis auf die Datei gespeichert haben, ruft die
SELECT
-Anweisung die Dateiverweisinformationen als TypSQL_VARCHAR
ab. -
den Inhalt einer Datei in das Containerfeld mithilfe von FileMaker Pro eingefügt haben, ruft die
SELECT
-Anweisung den Namen der Datei ab. -
eine Datei in das Containerfeld von einer anderen Anwendung importiert haben, zeigt die
SELECT
-Anweisung '?' an (die Datei wird in FileMaker Pro als Untitled.dat angezeigt).
Sie können die SELECT
-Anweisung mit der Funktion GetAs()
auf folgende Arten verwenden, um die Daten in Binärform abzurufen:
-
Wenn Sie die Funktion
GetAs()
mit der OptionDEFAULT
verwenden, rufen Sie den Masterstream für den Container ab, ohne den Streamtyp exakt definieren zu müssen.KopierenSELECT GetAs(Firmenprospekte, DEFAULT) FROM Vertriebsdaten
-
Um einen einzelnen Streamtyp aus einem Container abzurufen, verwenden Sie die Funktion
GetAs()
mit dem Typ der Datei, je nachdem, wie die Daten in das Containerfeld in FileMaker Pro eingegeben wurden.Wenn die Daten mit dem Befehl Einfügen > Datei eingefügt wurden, geben Sie
'FILE'
in der FunktionGetAs()
an.KopierenSELECT GetAs(Firmenprospekte, 'FILE') FROM Vertriebsdaten
Wenn die Daten mit dem Befehl Einfügen > Bild, per Drag & Drop oder aus der Zwischenablage eingefügt wurden, geben Sie einen der Dateitypen ein, die in der folgenden Tabelle genannt werden, z. B.
'JPEG'
.KopierenSELECT GetAs(Firmenlogo, 'JPEG') FROM Firmensymbole
Dateityp
Beschreibung
'GIFf'
Graphics Interchange Format
'JPEG'
Fotografische Bilder
'TIFF'
Raster-Dateiformat für digitale Bilder
'PDF'
Portable Document Format
'PNGf'
Bitmap-Bildformat