Simulation de colonnes calculées dans PostgreSQL
Contrairement à MS SQL Server, PostgreSQL ne prend pas en charge nativement les colonnes calculées. Cependant, plusieurs méthodes reproduisent efficacement cette fonctionnalité.
PostgreSQL 12 et versions ultérieures
PostgreSQL 12 a introduit les colonnes générées STORED, reflétant le comportement des colonnes calculées de SQL Server. Ces colonnes sont physiquement stockées dans la table, facilement accessibles lors des requêtes.
<code class="language-sql">CREATE TABLE tbl ( int1 int, int2 int, product bigint GENERATED ALWAYS AS (int1 * int2) STORED );</code>
PostgreSQL 11 et versions antérieures
Pour les anciennes versions de PostgreSQL, la simulation de colonnes virtuelles générées nécessite des fonctions et une notation d'attribut.
Syntaxe de la fonction :
<code class="language-sql">CREATE FUNCTION col(tbl) RETURNS type AS 'expression';</code>
Utilisation :
<code class="language-sql">SELECT tbl.col, ... FROM tbl;</code>
Cette approche imite une colonne générée virtuellement ; cependant, il n'est pas inclus dans SELECT *
.
Approches alternatives
SELECT *
récupère les colonnes originales et calculées.Considérations importantes :
SELECT *
.IMMUTABLE
pour activer les index d'expression.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!