Re: Use of delete...returning in function problem - Mailing list pgsql-sql

From Tom Lane
Subject Re: Use of delete...returning in function problem
Date
Msg-id 25973.1188921305@sss.pgh.pa.us
Whole thread Raw
In response to Re: Use of delete...returning in function problem  (Richard Huxton <dev@archonet.com>)
List pgsql-sql
Richard Huxton <dev@archonet.com> writes:
> I think it's just the brackets () - plpgsql's parser isn't terribly 
> sophisticated.

It's not plpgsql's fault --- you'll get the same result if you put
parentheses around a DELETE command at the SQL command line.

regression=# (delete from fool);
ERROR:  syntax error at or near "delete"
LINE 1: (delete from fool);        ^

The OP may be used to putting parens into his FOR loops because it
works with SELECT:

regression=# (select * from zz1);f1 | f2 | f3 
----+----+----
(0 rows)

The difference is that SELECT can be put into larger groupings (eg
UNIONs) so it has to be parenthesiz-able.  If we ever considered
supporting DELETE RETURNING as a component of larger queries, this
syntax difference would likely go away.
        regards, tom lane


pgsql-sql by date:

Previous
From: PostgreSQL Admin
Date:
Subject: Re: Trigger to change different row in same table
Next
From: Richard Ray
Date:
Subject: Re: How to influence the planner