Re: Problemas con un check

From: Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>
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:49:31
Message-ID: 3073cc9b0905201349w412aec9bt84fc845b4fe08706@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

2009/5/20 Luis A. Zevallos Cárdenas <lzevallos(at)lobosistemas(dot)com>:
> 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

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Oswaldo Hernández 2009-05-20 20:56:22 pk con valores duplicados
Previous Message Alvaro Herrera 2009-05-20 20:41:55 Re: Consulta sobre pg_column_size()