Обсуждение: BUG #16181: Error Creating Stored Procedures
The following bug has been logged on the website: Bug reference: 16181 Logged by: Shahzad Ahmad Email address: shahzadahmad00@gmail.com PostgreSQL version: 12.1 Operating system: Ubuntu 18.04.3 LTS Description: I tried both pgAdmin GUI and psql using a script file. In both instances i got the same error. CREATE OR REPLACE PROCEDURE admin.my_test(IN role_id integer DEFAULT 0) LANGUAGE 'plpgsql' AS $BODY$ IF my_test.user_id = 0 THEN Select * from admin.roles order by role_name; ELSE Select * from admin.roles WHERE role_id = my_test.user_id order by role_name; END IF; $BODY$; ERROR: syntax error at or near "IF" LINE 5: IF my_test.user_id = 0 THEN ^ SQL state: 42601 Character: 103
The following bug has been logged on the website:
Bug reference: 16181
Logged by: Shahzad Ahmad
Email address: shahzadahmad00@gmail.com
PostgreSQL version: 12.1
Operating system: Ubuntu 18.04.3 LTS
Description:
I tried both pgAdmin GUI and psql using a script file. In both instances i
got the same error.
CREATE OR REPLACE PROCEDURE admin.my_test(IN role_id integer DEFAULT 0)
LANGUAGE 'plpgsql'
David,
Thanks for the quick reply.
It is working with BEGIN and END.
The code was generated by pgAdmin4 GUI and I somehow incorrectly assumed that GUI would include BEGIN and END statements.
Thanks for your help.
Shahzad
From: David G. Johnston <david.g.johnston@gmail.com>
Sent: Wednesday, January 1, 2020 7:02 PM
To: shahzadahmad00@gmail.com; PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Subject: Re: BUG #16181: Error Creating Stored Procedures
On Wed, Jan 1, 2020 at 4:43 PM PG Bug reporting form <noreply@postgresql.org> wrote:
The following bug has been logged on the website:
Bug reference: 16181
Logged by: Shahzad Ahmad
Email address: shahzadahmad00@gmail.com
PostgreSQL version: 12.1
Operating system: Ubuntu 18.04.3 LTS
Description:
I tried both pgAdmin GUI and psql using a script file. In both instances i
got the same error.
CREATE OR REPLACE PROCEDURE admin.my_test(IN role_id integer DEFAULT 0)
LANGUAGE 'plpgsql'
Not a bug...the documentation shows how to write a pl/pgsql function/stored procedure.
Note the "BEGIN" and "END" portions of that syntax diagram are not optional.
David J.