On 6 Jul 2001, Eric Chacon wrote:
> I have a file with the following contents:
>
> DROP FUNCTION update_flag_func();
> CREATE FUNCTION update_flag_func()
> RETURNS text
> AS 'UPDATE update_flag SET content=current_timestamp;'
> LANGUAGE 'plpgsql';
>
> SELECT update_flag_func();
>
> When I run the 'UPDATE update_flag SET content=current_timestamp' in
> the SQL window (pgaccess), it works.
>
> When I type
> psql -f udt jags_content
>
> I get an error...
>
> DROP
> CREATE
> psql:udt:7: NOTICE: plpgsql: ERROR during compile of update_flag_func
> near line 1
> psql:udt:7: ERROR: parse error at or near "UPDATE"
>
> What obvious thing am I missing?
RTFM? ;)
Seriously, If you're making a plpgsql language function, you're going to
need a begin and end. Also, if you want it to return text, you need to
make it return something.
The other option is to make it an sql function and add a select after the
update for the return value.