2009/5/20 Luis A. Zevallos Cárdenas <[email protected]>: > Hola a todos > > Una consulta con un check o como lo puedo manejar > > tengo una tabla > CREATE TABLE tbl_paciente > ( > paciente_persona_cod integer NOT NULL, -- Codigo de referencia hacia la > tabla persona > paciente_hstclinica_cod integer, -- Codigo que hace referencia a la tabla > de historia clinica > paciente_apoderado integer, -- Codigo de referencia a la tabla persona > para identificar al apoderado solo si es < de 14 años > ) > > Este paciente_apoderado como dice no tiene que ser null si la edad del > paciente es menor a 14 > > en la vista vw_paciente me da el campo edad >
de donde saca la informacion esa vista? yo pensaria que de la misma tabla tbl_paciente, si es asi quiza puedes hacer algo como: CHECK ((paciente_edad < 14 AND paciente_apoderado IS NOT NULL) OR (paciente_edad >= 14)) lo que segun yo solo permitira edades menores a 14 siempre que el campo apoderado sea not null y permitira edades >= 14 sin restriccion... si el campo edad no sale de esta tabla sino de alguna otra entonces puedes usar triggers para esto -- Atentamente, Jaime Casanova Soporte y capacitación de PostgreSQL Asesoría y desarrollo de sistemas Guayaquil - Ecuador Cel. +59387171157 -- TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net
