Re: Trying to avoid a simple temporary variable declaration in a pl/pgsql function

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Trying to avoid a simple temporary variable declaration in a pl/pgsql function
Date: 2015-06-20 15:07:38
Message-ID: CAKFQuwbhT2NJKi2T3XH9drXu=5kGDMvPQOH2TKTbf9B8Q8uOfg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Sat, Jun 20, 2015 at 10:56 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> "David G. Johnston" <david(dot)g(dot)johnston(at)gmail(dot)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.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Jerry Sievers 2015-06-20 15:51:06 Re: Postgresql 9.2 has standby server lost data?
Previous Message Tom Lane 2015-06-20 14:56:44 Re: Trying to avoid a simple temporary variable declaration in a pl/pgsql function