Re: Trying to avoid a simple temporary variable declaration in a pl/pgsql function - Mailing list pgsql-general

From David G. Johnston
Subject Re: Trying to avoid a simple temporary variable declaration in a pl/pgsql function
Date
Msg-id CAKFQuwbhT2NJKi2T3XH9drXu=5kGDMvPQOH2TKTbf9B8Q8uOfg@mail.gmail.com
Whole thread Raw
In response to Re: Trying to avoid a simple temporary variable declaration in a pl/pgsql function  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Trying to avoid a simple temporary variable declaration in a pl/pgsql function
Re: Trying to avoid a simple temporary variable declaration in a pl/pgsql function
List pgsql-general
On Sat, Jun 20, 2015 at 10:56 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
"David G. Johnston" <david.g.johnston@gmail.com> writes:
> I know this could be written quite easily in sql but was wondering if it is
> possible in pl/pgsql.

> CREATE FUNCTION test_func()
> RETURNS text
> LANGUAGE 'plpgsql'
> AS $$
> BEGIN
> SELECT 'text_to_return' INTO <what_goes_here?>; --with or without a cast
> RETURN <what_goes_here?>;
> END;
> $$;

> The goal is to return the value of text_to_return without declaring an
> explicit variable to name in the INTO clause.

INTO requires a declared variable as target.

However, I'm wondering why you don't just use "RETURN expression"
if this is all that will be in the function.


​The use of SELECT is required and will likely have a CTE and a set of SQL CASE expressions as part of it.
It isn't a problem to declare it myself but I thought I had read about there being an implicit variable name that could be used instead.  I guess I mis-remembered...

​Thanks for the quick response.

David J.


pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Trying to avoid a simple temporary variable declaration in a pl/pgsql function
Next
From: Charles Clavadetscher
Date:
Subject: Re: Trying to avoid a simple temporary variable declaration in a pl/pgsql function