I've written a trigger function hoping to iterate over NEW
and check all its values.
CREATE OR REPLACE FUNCTION fix_nulls() RETURNS TRIGGER AS $_$
BEGIN
FOR val IN NEW
LOOP
IF val = '{x:Null}'
val := '';
ENDIF;
ENDLOOP;
RETURN NEW;
END $_$ LANGUAGE 'plpgsql';
CREATE TRIGGER prevent_nulls_siteinfo
BEFORE UPDATE OR INSERT ON siteinfo
FOR EACH ROW
EXECUTE PROCEDURE fix_nulls();
but I get a syntax error:
ERROR: syntax error at or near "NEW"
LINE 3: FOR val IN NEW
^
Is it possible to iterate over all values in NEW
? I could easily write a bunch of if statements to check each column, but I'd prefer this function be general so I can use it for other tables in the future.