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

como podria manejar esto

ALTER TABLE "sch_clinica"."tbl_paciente"
  ADD CONSTRAINT "tbl_paciente_chk" CHECK (case when (select p.edad from
vw_paciente p where p.cod=paciente_persona_cod)
is not null then(case when (select p.edad from vw_paciente p where
p.cod=paciente_persona_cod)<14
 then paciente_apoderado is not null end )end);

Gracias por la ayuda

P.D. Claro manejar esto con la aplicacion se podria hacer en eso no hay
problemas....pero queria saber si se puede manejar a travez de la base de
datos

-- 
Luis Zevallos
DBA Administrador de  DB & SRVR
Lobo Sistemas S.A.C
tel: +5154958310833
http://www.lobosistemas.com

Responder a