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
