Re: declare variable in udf

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Peter Kroon <plakroon(at)gmail(dot)com>
Cc: rod(at)iol(dot)ie, pgsql-general(at)postgresql(dot)org
Subject: Re: declare variable in udf
Date: 2012-11-21 12:10:17
Message-ID: CAFj8pRBb70BDTWvfanVJQmQZveTbarVxxMQOyt4vPj=j62xJzg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

2012/11/21 Peter Kroon <plakroon(at)gmail(dot)com>:
> So, multiple DECLARE sections are not allowed?

it is not allowed in plpgsql

resp. DECLARE is related to block - if you use nested block, then you
can use nested DECLAREs

Regards

Pavel Stehule

>
>
> 2012/11/21 Raymond O'Donnell <rod(at)iol(dot)ie>
>>
>> On 21/11/2012 11:42, Peter Kroon wrote:
>> > Hello,
>> >
>> > How do I declare a variable after BEGIN?
>> > I want to declare it in the if statement.
>> >
>> > DROP FUNCTION IF EXISTS tmp_test(integer);
>> > CREATE FUNCTION tmp_test(
>> > p_id integer
>> > )
>> > RETURNS text
>> > AS $$
>> > DECLARE the_return_value text;
>> > BEGIN
>> > DROP TABLE IF EXISTS temp_test_table;
>> > CREATE TEMP TABLE temp_test_table(
>> > some_value text
>> > );
>> > INSERT INTO temp_test_table
>> > SELECT data FROM table WHERE id=p_id;
>> > SELECT INTO the_return_value some_value FROM temp_test_table;
>> >
>> > IF 1=1 THEN
>> > --how do I declare a variable here? it this possible?
>> > RAISE NOTICE 'this is a notice';
>> > END IF;
>> >
>> > RETURN the_return_value;
>> >
>> > END;
>> > $$ language plpgsql
>>
>> I don't think that is possible - you have to declare all your variables
>> in the DECLARE section.
>>
>> Ray.
>>
>> --
>> Raymond O'Donnell :: Galway :: Ireland
>> rod(at)iol(dot)ie
>
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Raymond O'Donnell 2012-11-21 12:10:53 Re: declare variable in udf
Previous Message Peter Kroon 2012-11-21 12:01:53 Re: declare variable in udf