Thread: Inherancing

Inherancing

From
Nasair Junior da Silva
Date:
Hi people,
supposing i have the tables :

create table cities (id int, name varchar, primary key(id) );
create table centers (state varchar(2)) inherits (cities);

ant the tuple
insert into cities values (1, 'Lajeado');

How i do if i want to make this city as a center ?

Thanks,

xx===============================xx
||  °v°   Nasair Junior da Silva ||
|| /(_)\  Linux User: 246054     ||
||  ^ ^   njunior@univates.br    ||
||CPD - Desenvolvimento          ||
||Univates - Centro Universitário||
xx===============================xx


Re: Inherancing

From
Adam Witney
Date:
On 7/1/03 11:42 am, "Nasair Junior da Silva" <njunior@univates.br> wrote:

> Hi people,
> supposing i have the tables :
> 
> create table cities (id int, name varchar, primary key(id) );
> create table centers (state varchar(2)) inherits (cities);
> 
> ant the tuple
> insert into cities values (1, 'Lajeado');
> 
> How i do if i want to make this city as a center ?

If I understand you correctly you probably want to do this instead...

insert into centers values (1, 'Lajeado', 'AZ');

Where AZ is your state

HTH

adam


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



Re: Inherancing

From
Nasair Junior da Silva
Date:
In this case, when i do
select * from cities;
i'll have two tuples with the name 'Lajeado'.

Does it the only way i have ?

Thanks again,

Nasair Júnior da Silva
Lajeado - RS - Brasil.

Em Tue, 07 Jan 2003 12:02:13 +0000, Adam Witney <awitney@sghms.ac.uk> escreveu:
>On 7/1/03 11:42 am, "Nasair Junior da Silva" <njunior@univates.br> wrote:
>
>> Hi people,
>> supposing i have the tables :
>> 
>> create table cities (id int, name varchar, primary key(id) );
>> create table centers (state varchar(2)) inherits (cities);
>> 
>> ant the tuple
>> insert into cities values (1, 'Lajeado');
>> 
>> How i do if i want to make this city as a center ?
>
>If I understand you correctly you probably want to do this instead...
>
>insert into centers values (1, 'Lajeado', 'AZ');
>
>Where AZ is your state
>
>HTH
>
>adam
>
>


xx===============================xx
||  °v°   Nasair Junior da Silva ||
|| /(_)\  Linux User: 246054     ||
||  ^ ^   njunior@univates.br    ||
||CPD - Desenvolvimento          ||
||Univates - Centro Universitário||
xx===============================xx


Re: Inherancing

From
Adam Witney
Date:
Yes, if you do

insert into cities values (1, 'Lajeado');
insert into centers values (1, 'Lajeado', 'AZ');

Then select * from cities will give you

1     Lajedo
1     Lajedo

And select * from centers will give

1     Lajedo     AZ

However, if rather than duplicating the insert and just doing

insert into centers values (1, 'Lajeado', 'AZ');

Then select * from cities will give you

1     Lajedo

And select * from centers will give

1     Lajedo     AZ


Is this what you want?

adam


> In this case, when i do
> select * from cities;
> i'll have two tuples with the name 'Lajeado'.
>
> Does it the only way i have ?
>
> Thanks again,
>
> Nasair Júnior da Silva
> Lajeado - RS - Brasil.
>
> Em Tue, 07 Jan 2003 12:02:13 +0000, Adam Witney <awitney@sghms.ac.uk>
> escreveu:
>> On 7/1/03 11:42 am, "Nasair Junior da Silva" <njunior@univates.br> wrote:
>>
>>> Hi people,
>>> supposing i have the tables :
>>>
>>> create table cities (id int, name varchar, primary key(id) );
>>> create table centers (state varchar(2)) inherits (cities);
>>>
>>> ant the tuple
>>> insert into cities values (1, 'Lajeado');
>>>
>>> How i do if i want to make this city as a center ?
>>
>> If I understand you correctly you probably want to do this instead...
>>
>> insert into centers values (1, 'Lajeado', 'AZ');
>>
>> Where AZ is your state
>>
>> HTH
>>
>> adam
>>
>>
>
>
> xx===============================xx
> ||  °v°   Nasair Junior da Silva ||
> || /(_)\  Linux User: 246054     ||
> ||  ^ ^   njunior@univates.br    ||
> ||CPD - Desenvolvimento          ||
> ||Univates - Centro Universitário||
> xx===============================xx
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>   (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)


--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



Re: Inherancing

From
"Daniel Schuchardt"
Date:
You have to insert in th centers-table. Because it is inherited from cities,
the record is automatically in cities. Search for SELECT * FROM ONLY in the
docs too.

> create table cities (id int, name varchar, primary key(id) );
> create table centers (state varchar(2)) inherits (cities);
>
> ant the tuple
> insert into cities values (1, 'Lajeado');

Lajeado isn't a center here. You should do :

insert into centers ....

You can do then SELECT * FROM cities -> you will get all cities. Or SELECT *
FROM centers -> you will get all centers. Or SELECT * FROM ONLY cities ->
you will get only cities who aren't centers.

Daniel.


"Nasair Junior da Silva" <njunior@univates.br> schrieb im Newsbeitrag
news:20030107094225.0345a050.njunior@univates.br...
> Hi people,
> supposing i have the tables :
>
> create table cities (id int, name varchar, primary key(id) );
> create table centers (state varchar(2)) inherits (cities);
>
> ant the tuple
> insert into cities values (1, 'Lajeado');
>
> How i do if i want to make this city as a center ?
>
> Thanks,
>
> xx===============================xx
> ||  �v�   Nasair Junior da Silva ||
> || /(_)\  Linux User: 246054     ||
> ||  ^ ^   njunior@univates.br    ||
> ||CPD - Desenvolvimento          ||
> ||Univates - Centro Universit�rio||
> xx===============================xx
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org