Berechnete Felder
Berechnete Felder können mit der COMPUTED [BY]
- oder GENERATED ALWAYS AS
-Klausel (gemäß SQL:2003-Standard) definiert werden.Sie meinen dasselbe.Die Beschreibung des Datentyps ist für berechnete Felder nicht erforderlich (aber möglich), da das DBMS als Ergebnis der Ausdrucksanalyse den entsprechenden Typ berechnet und speichert.Entsprechende Operationen für die in einem Ausdruck enthaltenen Datentypen müssen genau angegeben werden.
Wenn der Datentyp für ein berechnetes Feld explizit angegeben wird, wird das Berechnungsergebnis in den angegebenen Typ konvertiert.Das bedeutet zum Beispiel, dass das Ergebnis eines numerischen Ausdrucks als String ausgegeben werden könnte.
In einer Abfrage, die eine COMPUTED BY
-Spalte auswählt, wird der Ausdruck für jede Zeile der ausgewählten Daten ausgewertet.
Tip
|
Anstelle einer berechneten Spalte ist es in manchen Fällen sinnvoll, eine reguläre Spalte zu verwenden, deren Wert in Triggern zum Hinzufügen und Aktualisieren von Daten ausgewertet wird.Dies kann die Leistung beim Einfügen/Aktualisieren von Datensätzen verringern, aber die Leistung der Datenauswahl erhöhen. |