Re: COPY to table with array columns (Longish) - Mailing list pgsql-sql
From | Phillip Smith |
---|---|
Subject | Re: COPY to table with array columns (Longish) |
Date | |
Msg-id | 009801c68eaa$5bf73530$9b0014ac@ITPhil Whole thread Raw |
In response to | Re: COPY to table with array columns (Longish) ("Aaron Bono" <postgresql@aranya.com>) |
Responses |
Re: COPY to table with array columns (Longish)
Re: COPY to table with array columns (Longish) |
List | pgsql-sql |
Not quite... ZKCOST and ZPRECMPL are two completely different things. They have no relation except they're both stored in the SYS table in D3. If we put it in a tree:SYS | +- ZKCOST | \- <value> | +- ZPRECMPL | +- <value> | +- <value> | +- <value>| \- <value> or table:SYS+-----------+---------+---------+---------+---------+| ZKCOST | <value> | | | || ZPRECMPL | <value> | <value> | <value> | <value> |+-----------+---------+---------+---------+---------+ So other than a variable-element array, the only other way would be to create a table with a column count equal to or greater than the maximum amount of values (call that value 'Y') that any sys item holds then if a particular record (eg, ZKCOST) has less values than Y, fill the rest of the columns with blanks (as above). That's what I've done at the moment, but only for 9 columns, so anything over 9 fields will be truncated past and including field 10:wbau=# \d sys Table "public.sys" Column | Type | Modifiers--------+------+-----------a0 | text | not null a1 | text | a2 | text | a3 | text | a4 | text| a5 | text | a6 | text | a7 | text | a8 | text | a9 | text |Indexes: "id" PRIMARY KEY, btree(a0) a0 = primary key - eg, ZPRECMPL or ZKCOST -----Original Message----- From: pgsql-sql-owner@postgresql.org [mailto:pgsql-sql-owner@postgresql.org] On Behalf Of Aaron Bono Sent: Tuesday, 13 June 2006 2:12 PM To: pgsql-sql@postgresql.org Subject: Re: [SQL] COPY to table with array columns (Longish) I think two tables should suffice: ZKCOST and ZPRECMPL. So you would have ZKCOST zkcost_id, zkcost_value and ZPRECMPL zkcost_id, zprecmpl_id, zprecmpl_value where zkcost_id is the primary key for ZKCOST and zkcost_id, zprecmpl_id together are the primary key for ZPRECMPL and zkcost_id is a foreign key from ZPRECMPL to ZKCOST. That will work won't it? -Aaron On 6/12/06, Phillip Smith <phillips@weatherbeeta.com.au> wrote: > So you're suggesting creating a child table for each SYS record? Ie, a table called "ZPRECMPL" etc? ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq *******************Confidentiality and Privilege Notice******************* The material contained in this message is privileged and confidential to the addressee. If you are not the addressee indicated in this message or responsible for delivery of the message to such person, you may not copy or deliver this message to anyone, and you should destroy it and kindly notify the sender by reply email. Information in this message that does not relate to the official business of Weatherbeeta must be treated as neither given nor endorsed by Weatherbeeta. Weatherbeeta, its employees, contractors or associates shall not be liable for direct, indirect or consequential loss arising from transmission of this message or any attachments