Hoogstwaarschijnlijk loop je tegen een naamgevingsconflict aan. Parameternamen (IN
en OUT
parameters) zijn (bijna) overal zichtbaar in de hoofdtekst van de functie en hebben voorrang op niet-gekwalificeerde kolomnamen. Heb je col1
. aangegeven? als variabele in de functie?
Om het conflict te vermijden, table-qualify de kolomnaam:
SELECT b.col1 FROM tableb b WHERE b.aID = NEW.ID;
Dit is in ieder geval een goede gewoonte.
Het is ook een goede gewoonte om variabelenamen voor te voegen, zodat ze normaal gesproken niet conflicteren met tabelkolommen. Vind ik leuk:_col1
.