Re: Problemas con un check

From: Gilberto Castillo Martínez <gilberto(dot)castillo(at)etecsa(dot)cu>
To: "Luis A(dot) Zevallos" Cárdenas <lzevallos(at)lobosistemas(dot)com>
Cc: posgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Problemas con un check
Date: 2009-05-20 20:41:14
Message-ID: 1242852074.5311.31.camel@gilbertoc.mtcorp.etecsa.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


El mié, 20-05-2009 a las 15:25 -0500, Luis A. Zevallos Cárdenas
escribió:
> 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 dato

No me queda claro lo que quieres hacer, pero puedes utilizar un trigger
o una regla que dispare cuando el la edad del paciente sea meyor ... de
14 y actualice en campo apoderado ...

--
Gilberto Castillo Martínez
Edificio Beijing. Miramar Trade Center. Etecsa.
La Habana, Cuba.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2009-05-20 20:41:55 Re: Consulta sobre pg_column_size()
Previous Message Luis A. Zevallos Cárdenas 2009-05-20 20:25:15 Problemas con un check