Constraint Check de varios campos en varias combinaciones

From: Jorge Lobo Arteaga <jorgeloboa(at)hotmail(dot)com>
To: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Constraint Check de varios campos en varias combinaciones
Date: 2016-02-25 19:33:41
Message-ID: SN1PR16MB0158A5958D82BA530D0C2F45D5A60@SN1PR16MB0158.namprd16.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Buenas tardes,

Tengo una tabla así

create table predio(

tipo integer not null,

nom varchar(40),

apto char(6),

constraint ck_tipo_predio_de_1_a_5 check(tipo >= 1 and tipo<=5)

);

'nom' y 'apto' no son NOT NULL debido a que la obligatoriedad de dichos campos dependen del valor del campo 'tipo',

teniendo en cuenta las siguientes condiciones.

El campo 'tipo' almacena los tipos de predios así: 1-Casa, 2-Casa lote, 3-Apartamento, 4-Edificio, 5-Conjunto cerrado.

El campo 'nom' almacena el nombre del predio, solo si el tipo de predio es 3, 4 o 5. Caso contrario será NULL.

El campo 'apto' almacena el número de apartamento o vivienda, solo si el tipo de predio es 4 o 5. Caso contrario será NULL.

Los campos 'nom' y 'apto' serán NULL, solo si tipo de predio es 1 o 2.

No he podido hacer que las restricciones de tablas funcionen usando CHECK. He insistido bastante, pero creo que solo se va a poder

usando TRIGGERS.

Gracias por su apoyo.

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Cristobal Alexis Ibarra Gonzalez 2016-02-25 19:42:03 Ayuda para pasar resultados de una tabla en csv
Previous Message Alvaro Herrera 2016-02-25 15:42:53 Re: Replicacion asincrona de base de datos en vez de cluster