Skip site navigation (1) Skip section navigation (2)

Constructing two-dimensional arrays from a query

From: "David Monarchi" <david(dot)e(dot)monarchi(at)gmail(dot)com>
To: pgsql-novice(at)postgresql(dot)org
Subject: Constructing two-dimensional arrays from a query
Date: 2007-11-09 00:13:28
Message-ID: eea51fdb0711081613h63055a41oaaaa96969988c636@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-novice
PG 8.2
Linux

Hello -

I would like to update a two-dimensional array field in a table using pure SQL.

The field is defined as text[][]

My query produces data in the form
x, y, z
where x is the value of the key in the table I want to update
         y is the value of the first element of the first subarray
         z is the value of the second element of the first array

For example, part of the result of a query might be
    x1 y1 z1
    x1 y2 z2
    x1 y3 z3

After updating the table, the row would look like this (quotes omitted
for clarity).

x1           {{y1,z1},{y2,z2},{y3,z3}}

In section 4.2.10, an examle is given using the ARRAY constructor, but
it explicitly says that the subquery must return a single column.  I
don't know if this is a limitation of 8.2 or if there is a way around
this.  The example in the manual is
        SELECT ARRAY(SELECT oid FROM pg_proc WHERE proname LIKE 'bytea%');

Any assistance would be greatly appreciated.

Thank you,
David

pgsql-novice by date

Next:From: Josh TolleyDate: 2007-11-09 05:50:49
Subject: Re: Debugging question ...
Previous:From: Hans-Peter OeriDate: 2007-11-08 19:24:49
Subject: Re: Obtaining the primary key of the record just inserted

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group