2014-06-26 18:26 GMT+02:00 Raymond O'Donnell <r...@iol.ie>: > On 25/06/2014 23:19, Dennis Ryan wrote: > > I having trouble with correct syntax to get this trigger function to > > compile. I have tried every combination of removing the ‘;’ characters > > but the function will not compile. Can someone tell me what I am doing > > wrong, I am stumped. I will be adding addition when clauses the case > > statement once I get this simplified version to compile. > > > > I am using 9.3.4, both postgres and psql. > > > > > > CREATE OR REPLACE FUNCTION sn_dm_b.pm_insert_trigger() > > RETURNS TRIGGER AS $$ > > BEGIN > > CASE > > WHEN NEW.period = 201001 > > THEN INSERT INTO sn_dm_b.pm201001 VALUES (NEW.*); > > The problem is the semi-colon after (NEW.*). There isn't one inside a > CASE construct. >
no, using INSERT inside SQL CASE is not possible (with or without semicolon), but inside PL/pgSQL it is ok. But PL/pgSQL statement uses END CASE like others END .. END IF, END LOOP, Regards Pavel > > Ray. > > > > END; > > RETURN NULL; > > END; > > $$ LANGUAGE plpgsql; > > > > > > ERROR: syntax error at or near ";" > > LINE 7: END; > > > -- > Raymond O'Donnell :: Galway :: Ireland > r...@iol.ie > > > -- > Sent via pgsql-general mailing list (pgsql-general@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general >