Subject: v11: RETURN syntax for procedure

From: fn ln <[email-masked]>
Date: Wed, 10 Oct 2018 22:14:23 +0900

Hello.

I've found this on the docs:
https://www.postgresql.org/docs/devel/static/plpgsql-control-structures.html#PLPGSQL-STATEMENTS-RETURNING-PROCEDURE
> If a RETURN statement is desired to exit the code early, then NULL must
be returned.

But isn't actual syntax just RETURN without an expression?

---

From: Bruce Momjian <[email-masked]>
Date: Sat, 13 Oct 2018 21:01:57 -0400

On Wed, Oct 10, 2018 at 10:14:23PM +0900, fn ln wrote:
> > If a RETURN statement is desired to exit the code early, then NULL must be
> returned.
> 

I think you might be right:

	CREATE OR REPLACE PROCEDURE triple()
	LANGUAGE plpgsql
	AS $$
	BEGIN
	        RETURN NULL;
	END;
	$$;
	ERROR:  RETURN cannot have a parameter in a procedure
-->	LINE 5:         RETURN NULL;
	                       ^

	CREATE OR REPLACE PROCEDURE triple()
	LANGUAGE plpgsql
	AS $$
	BEGIN
	        RETURN;
	END;
	$$;

-- 
  Bruce Momjian  <[email-masked]>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+                      Ancient Roman grave inscription +