PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Valor NULL da função Postgres para linha que faz referência a NEW


Muito provavelmente você está enfrentando um conflito de nomenclatura. Nomes de parâmetros (IN e OUT parâmetros) são visíveis no corpo da função (quase) em qualquer lugar e têm precedência sobre nomes de coluna não qualificados. Você declarou col1 como variável na função?

Para evitar o conflito, qualificação de tabela o nome da coluna:
SELECT b.col1 FROM tableb b WHERE b.aID = NEW.ID;

Esta é uma boa prática em qualquer caso.

Também é uma boa prática prefixar nomes de variáveis, para que normalmente não entrem em conflito com as colunas da tabela. Como:_col1 .