From: | Leonardo M(dot) Ramé <l(dot)rame(at)griensu(dot)com> |
---|---|
To: | <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Ajuda com definição |
Date: | 2017-01-24 20:18:19 |
Message-ID: | 71405e2a-f03e-ddf4-9aba-dbad5ade3aec@griensu.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
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
From | Date | Subject | |
---|---|---|---|
Next Message | rob stone | 2017-01-24 20:29:29 | Re: Ajuda com definição |
Previous Message | Márcio A. Sepp | 2017-01-24 19:35:58 | Ajuda com definição |