Re: Setting variables equal to elements from an Array - Mailing list pgsql-general

From Tom Lane
Subject Re: Setting variables equal to elements from an Array
Date
Msg-id 10048.1199810156@sss.pgh.pa.us
Whole thread Raw
In response to Setting variables equal to elements from an Array  (cdecarlo <cdecarlo@gmail.com>)
List pgsql-general
cdecarlo <cdecarlo@gmail.com> writes:
> I'm new to pl/pgsql and postgres and I need some help with a part of
> my function.  In the function I loop through a multidemensional array
> ( [n][3] ), once, while inside the loop, I find the index I want to
> work with I would like to set a separate variable equal to the element
> in the array at that index ( newVar = array[i] ).

The rest of your message suggests that what you want is not that at all,
but to set the other variable to an array that consists of one or more
elements from the original array.  You need to be clearer in your own
mind about which it is you're doing --- an array of one element is
completely different from the element itself.

If you use subscripts that include a colon (:), then the result is a
sub-array and has to be assigned to a variable that's of the array
type.  If you don't use a colon then the subscripting operation produces
a single value that's of the array element type, and has to be assigned
to a variable of that type.  You have to use the correct number of
subscripts in either case, else you get a NULL, as you found out.

            regards, tom lane

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: need to dump/restore data for 8.3beta2 -> 8.3RC1 upgrade?
Next
From: "William Temperley"
Date:
Subject: XML and Routing