Heim >Datenbank >MySQL-Tutorial >Berechnete PostgreSQL-Spalten: Welche Alternativen gibt es?
Berechnete PostgreSQL-Spalten: Erkundung von Alternativen
PostgreSQL-Benutzer fragen häufig nach der Verfügbarkeit berechneter Spalten, eine Funktion, die in anderen Datenbankverwaltungssystemen wie MS SQL Server häufig vorkommt. Obwohl PostgreSQL berechnete Spalten noch nicht nativ unterstützt, bietet es verschiedene Alternativen, um eine ähnliche Funktionalität zu erreichen.
Speichern generierter Spalten: PostgreSQL 12 und höher
PostgreSQL 12 führt das Konzept der Speicherung generierter Spalten ein, das mit SQL-Standards kompatibel ist und von anderen RDBMS wie DB2, MySQL und Oracle unterstützt wird. Diese Spalten werden mit dem Schlüsselwort STORED erstellt und berechnet, wenn Daten abgerufen oder eingefügt werden.
<code class="language-sql">CREATE TABLE tbl ( int1 int , int2 int , product bigint GENERATED ALWAYS AS (int1 * int2) STORED );</code>
Virtuell generierte Spalten: PostgreSQL 11 und früher
Für PostgreSQL 11 und früher werden echte virtuell generierte Spalten nicht unterstützt. Der Benutzer kann sein Verhalten jedoch mithilfe von Funktionen mit Attributnotation simulieren. Diese Methode beinhaltet die Verwendung der tbl.col-Syntax, die das Aussehen und die Funktionalität einer virtuell generierten Spalte nachahmt.
<code class="language-sql">CREATE FUNCTION col(tbl) ... AS ... -- 您的计算表达式在此处</code>
<code class="language-sql">SELECT tbl.*, col(tbl) FROM tbl;</code>
Alternativen
Zusätzlich zu den oben genannten Methoden können PostgreSQL-Benutzer auch andere Methoden in Betracht ziehen, um ähnliche Funktionen zu erreichen:
Auch wenn PostgreSQL derzeit möglicherweise keine nativen berechneten Spalten unterstützt, bietet sein flexibler und leistungsstarker Funktionsumfang verschiedene Lösungen zur Implementierung ähnlicher Funktionen, um den unterschiedlichen Anforderungen seiner Benutzer gerecht zu werden.
Das obige ist der detaillierte Inhalt vonBerechnete PostgreSQL-Spalten: Welche Alternativen gibt es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!