PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Fonction Postgres Valeur NULL pour la ligne qui fait référence à NEW

Vous rencontrez très probablement un conflit de nom. Noms des paramètres (IN et OUT parameters) sont visibles dans le corps de la fonction (presque) n'importe où et ont priorité sur les noms de colonne non qualifiés. Avez-vous déclaré col1 comme variable dans la fonction ?

Pour éviter le conflit, table-qualifie le nom de la colonne :

SELECT b.col1 FROM tableb b WHERE b.aID = NEW.ID;

C'est une bonne pratique dans tous les cas.

Il est également recommandé de préfixer les noms de variables, afin qu'ils n'entrent normalement pas en conflit avec les colonnes de la table. Comme :_col1 .