Desculpe a demora! Sim concordo com vocês, porem, Marcone, você acertou, não posso mudar :( Estou testando uma mistura do seu com o do Prof. Cleverson.
Mas, ainda no assunto, seria melhor, ter um campo para o ano, outro para o número serial e outro pro DV? Ou isto não faz diferença, pensando em normatizações ou desempenho? Ou somente o DV separado? Eduardo Az Dep.TI EMBRASIS +55(11)8125-3845 TIM [email protected] -----Mensagem Original----- From: Marcone Sent: Thursday, April 28, 2011 10:35 AM To: Comunidade PostgreSQL Brasileira Subject: Re: [pgbr-geral] uso de serial e digito verificador Em 27 de abril de 2011 18:32, Leandro DUTRA <[email protected]> escreveu: > Precisas mesmo manter esse código? > > Normalmente, o ideal é não misturar informações num atributo. > > E, como identificador, o ideal seria uma chave natural, inda que > composta; caso não seja possível, um código que não dependa de informação > nenhuma. Concordo com o Leandro e acrescento: não faz sentido (pelo pouco que sabemos desse caso) manter um atributo com valores desse tipo que você possa obtê-los facilmente como o ultimo dígito do ano, além de poder causar confusão (2011, 2001 - 1 para ambos), o mesmo aplica-se ao DV que é apenas para conferir a digitação do código. Em todo o caso se não tiver como fugir dessa formatação de código (o que eu acredito ser pouco provável) dá pra fazer no default do campo da tabela: drop table teste02 cascade; drop sequence teste02_seq; create sequence teste02_seq; create table teste02( codigo varchar(10) default substr(extract(year from now())::char(4), 4, 1) || to_char(nextval('teste02_seq'), '0000000') || gera_dv(), nome varchar(10)); No seu caso bastaria alterar o valor default do campo e criar uma função gera_dv(). _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
