Problemas con un check

From: Luis A(dot) Zevallos Cárdenas <lzevallos(at)lobosistemas(dot)com>
To: posgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Problemas con un check
Date: 2009-05-20 20:25:15
Message-ID: ae5556ce0905201325v5419cbaej3c81fd90780bdae9@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gilberto Castillo Martínez 2009-05-20 20:41:14 Re: Problemas con un check
Previous Message Rafael Martinez 2009-05-20 18:49:07 Re: error ... con el comando EXECUTE