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

Responder a