David Hofmann wrote:
> > I've look throught the docs and from what I can see the bellow code
> > should work, however I keep getting the error:
> >
> > ERROR:  parser: parse error at or near "$" at character 53
> >
> > CREATE FUNCTION session_update() RETURNS trigger AS $session_update$
> > BEGIN
> >     -- Check date exists
> >     IF NEW.stamp_lastupdate IS NULL THEN
> >         NEW.stamp_lastupdate := 'now';
> >     END IF;
> >     RETURN NEW;
> > END;
> >
> > $session_update$ LANGUAGE plpgsql;
> >
> > CREATE TRIGGER session_update BEFORE INSERT OR UPDATE ON sessions FOR
> > EACH ROW EXECUTE PROCEDURE session_update();
> >
> >
> > Any help or suggestions of websites I should read would be appercated.
> >
> > David
> 
> Which version of postgresql are you using? I don't believe that the "$" 
> quoting
> was available in older versions than 8 (or late 7?).
> 

the $ quoting is available since 8.

This seems bad to me also:
> > CREATE FUNCTION session_update() RETURNS trigger AS $session_update$
> > [..function body..]
> > $session_update$ LANGUAGE plpgsql;

I think it should be:
CREATE FUNCTION session_update() RETURNS trigger AS $$
[..function body..]
$$ LANGUAGE plpgsql;


-- 
Atentamente,
Jaime Casanova
(DBA: DataBase Aniquilator ;)

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to