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.