El 24/01/17 a las 16:35, Márcio A. Sepp escribió:
Boa tarde, Tenho um caso onde o campo chave da tabela irá receber dois tipos de informação: integer de tamanho 5 e integer de tamanho 7. O problema disso é que se eu criar o campo como sendo integer, lá pelas tantas corro o risco de dar violação de PK. As soluções possíveis seriam criar o campo como varchar(7) ou colocar um segundo campo na chave para identificar a informação. A considerar: 99,9% dos registros desta tabela são de tamanho 7. Dutra e demais da lista, qual a forma mais correta de modelar isso? -- Att. Márcio A. Sepp
Maybe you can create two Numeric fields, for example: create table numbers( id serial not null, number_7 numeric(7, 0), number_5 numeric(5, 0), primary key(id) ); Then insert into numbers(number_7, number_5) values(12345678, 12345); <-- ERROR insert into numbers(number_7, number_5) values(1234567, 123456); <-- ERROR insert into numbers(number_7, number_5) values(1234567, 12345); <-- OK Regards, -- Leonardo M. Ramé Medical IT - Griensu S.A. Av. Colón 636 - Piso 8 Of. A X5000EPT -- Córdoba Tel.: +54(351)4246924 +54(351)4247788 +54(351)4247979 int. 19 Cel.: +54 9 (011) 40871877 -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general