Re: why semicolon after begin is not allowed in postgresql?
От | Andrew Dunstan |
---|---|
Тема | Re: why semicolon after begin is not allowed in postgresql? |
Дата | |
Msg-id | 528FDE60.40300@dunslane.net обсуждение исходный текст |
Ответ на | why semicolon after begin is not allowed in postgresql? (AK <alkuzo@gmail.com>) |
Список | pgsql-hackers |
On 11/22/2013 05:24 PM, AK wrote: > I am reading the following in the documentation: "Tip: A common mistake is to > write a semicolon immediately after BEGIN. This is incorrect and will result > in a syntax error." > > So, "common mistake" means semicolons after BEGIN seem consistent to many > people - it seems consistent to me as well. If PostgreSql allowed them, we > would have one less rule to memorize, shorter documentation, less mistakes > and so on. In other words, without this limitation PostgreSql would be > slightly more useful, right? > > What am I missing? Why do we need this rule? How is it making PostgreSql > better? > > > You're referring specifically to plpgsql, not to Postgres or SQL generally. plpgsql is derived from PLSQL which is derived from Ada which has this grammatical rule. The explanation is this: only complete statements are followed by semicolons. But in these languages, "begin" on its own is not a complete statement. It's the start of a compound statement, the end of which will be "end", which is indeed followed by a semicolon. cheers andrew
В списке pgsql-hackers по дате отправления: