> -----Original Message----- From: Merlin Moncure
> Sent: Monday, August 22, 2011 11:03 AM
> To: Bob Pawley
> Cc: Postgresql
> Subject: Re: [GENERAL] Updating Arrays
>
> On Mon, Aug 22, 2011 at 12:54 PM, Bob Pawley <rjpawley@shaw.ca> wrote:
>> Hi
>>
>> I exploring the use of arrays.
>>
>> So far I have created a table and inserted a row and updated the row with an
>> array
>> Update library.compare
>> set _base =
>> '{2, 0.764149497122068, 4.8886}'
>> where process_id = 2;
>> – successfully.
>>
>> However when I attempt to update a specific element of the array
>>
>> Update library.compare
>> set _base[2] =
>> '{2}'
>> where process_id = 2;
>> I get an error “invalid input syntax for type numeric: "{2}"”
>
> try "set base[2] = 2"
>
> merlin
>
> On Aug 22, 2011, at 21:49, "Bob Pawley" <rjpawley@shaw.ca> wrote:
> I'm not sure what you mean.
>
> _base -- not base -- is the column name.
>
> Bob
Your column name has a leading underscore? On the table or is it an alias? Regardless is it that hard to replace the
mis-typedcolumn name with the correct one?
Compare these statements:
Original
... Set base = {1,2,3};
SELECT base[2] ... ;
Updates
Set base[2] = {2}; -- replaces the second value with an array of 1 dimension and a single value.
set base[2] = 2; -- replaces the second value with a single numeric value
Now, from the above select, is the second value an array or a single value?
And please do not top-post. Personally it isn't that big a deal to me but since the first reply was bottom posted you
shouldfollow suit. Even when you reply first on this list it is customary to bottom-post. When in Rome...
David J.