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.





Responder a