| From: | Tim Williams <williams(at)ugsolutions(dot)com> | 
|---|---|
| To: | cisjl(at)cs(dot)unisa(dot)edu(dot)au (Jixue Jerry Liu) | 
| Cc: | pgsql-general(at)postgreSQL(dot)org | 
| Subject: | Re: [GENERAL] two questions | 
| Date: | 1999-01-12 10:07:02 | 
| Message-ID: | 199901121607.KAA16299@ug.eds.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general | 
> I am having two questions about psql:
> 
> 1. How to define a relation with an attribute which takes set values?
>     Not really sure what you mean....
> 
>   eg. I would like to define a table like
>        create table emp (name  text, tele  Set(string));  -- it does
>                not work
>        One tuple may look like 'Jerry', {83023381,83023800}
>        I can not use array since an array is not a set.
> 
> 2. How to populate instances to a table referring another table? An
>    example:
>     Create table CITIES (name  text, population  float);
>     Insert into cities values ('Adelaide', 100.0);
>     Create table people(name  text, live_in  CITIES);
>     How to insert a tuple into people saying that 'Jerry' lives in
>             Adelaide?
>     I can not use
>           INSERT INTO people('Jerry', 'Adelaide');
>           since  live_in is not a string, it is a table named CITIES
>     I am trying to use object reference of OR. Thus a reference path
>         can be formed.
> 
> Jerry Liu, Australia
The usual approach is to use two tables.
create table cities (name text, population float);
create table people (name text, city_name text);
insert into cities values ('Adelaide', 100.0);
insert into people values ('Jerry', 'Adelaide');
update cities set population = population + 1 where name = 'Adelaide';
| From | Date | Subject | |
|---|---|---|---|
| Next Message | David Hartwig | 1999-01-12 18:57:28 | Re: [GENERAL] Postgres+ODBC+BDE+Delphi | 
| Previous Message | Giuliano A. Tarallo | 1999-01-12 07:27:45 | [GENERAL] PRIMARY/FOREIGN KEY statements |