PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Valore NULL della funzione Postgres per la riga che fa riferimento a NEW

Molto probabilmente ti stai imbattendo in un conflitto di nomi. Nomi dei parametri (IN e OUT parametri) sono visibili nel corpo della funzione (quasi) ovunque e hanno la precedenza sui nomi di colonna non qualificati. Hai dichiarato col1 come variabile nella funzione?

Per evitare il conflitto, qualificati al tavolo il nome della colonna:

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

Questa è comunque una buona pratica.

È anche buona norma anteporre i nomi delle variabili, in modo che normalmente non entrino in conflitto con le colonne della tabella. Come:_col1 .