Em 20 de setembro de 2012 11:49, Matheus de Oliveira <
[email protected]> escreveu:

>
>
> 2012/9/20 Moisés P. Sena <[email protected]>
>
>> Bom dia pessoal!!
>>
>>
>> estou usando postgresql 9.2.
>>
>> Tenho a seguinte estrutura:
>>
>> create table usuario (
>>     email varchar(100) not null primary key,
>>     senha varchar(255) not null
>> );
>>
>> create table cliente (
>>     nome varchar(100) not null,
>>     cpf text not null
>> ) inherits (usuario);
>>
>> tenho um usuario:
>>
>> moi=# insert into usuario (email, senha) values ('[email protected]',
>> '123456');
>> INSERT 0 1
>>
>> quero transformar este usuario em cliente. so que a query abaixo nao
>> funciona:
>>
>> moi=# update cliente set nome = 'Usuario da Silva', cpf = 'xx' where
>> email = '[email protected]';
>> UPDATE 0
>>
>> Alguem tem alguma ideia de como resolver este tipo de situacao?
>>
>>
> O pessoal já disse, herança não é bom (geralmente), mas fiquei com vontade
> de postar uma solução caso queira usar:
>
> WITH del AS (
>     DELETE FROM usuario WHERE email = '[email protected]'
>     RETURNING *
> )
> INSERT INTO cliente (nome, cpf, email, senha)
> SELECT 'Usuário da Silva', 'XX', email, senha FROM del;
>
>
Interessante!!!!

obrigado!


> De qualquer maneira eu também concordo que heranças só atrapalham em casos
> como esse. Mas veja que é possível uma "conversão" forçada (mas ainda
> podendo levar à problemas de integridade).
>
> Atenciosamente,
> --
> Matheus de Oliveira
> Analista de Banco de Dados PostgreSQL
> Dextra Sistemas - MPS.Br nível F!
> www.dextra.com.br
>
>
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
Moisés P. Sena
(Analista e desenvolvedor de sistemas WEB e mobile)
http://www.moisespsena.com
http://linux.moisespsena.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a