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
>

Reply via email to