Hasta donde veo, hay una suma de check con una suerte de "ANTI"-FK. Los "CHECK" 
son condiciones o restricciones a nivel local (de la tabla en si), y no 
permiten chequear valores (o existencia) en otras tablas.

En versiones nuevas de PG, lo que si existen son triggers condicionados, a los 
cuales podes darles una condicion para que se disparen (en este caso, que 
tabla_a.estado = TRUE, y luego disparar el trigger que verifique la 
no-existencia de dicho valor en tabla_b.


HTH
Gerardo
----- Mensaje original -----
> De: "Pedro PG" <pedr...@outlook.com>
> Para: pgsql-es-ayuda@postgresql.org
> Enviados: Viernes, 29 de Agosto 2014 11:21:00
> Asunto: [pgsql-es-ayuda] Restricción CHECK: evitar que exista ID de tabla A 
> en tabla B
> 
> 
> Hola, deseo crear una restricción en una tabla:
> 
> 
> Tengo 2 tablas =>
> 
> 
> * tabla_a -|----<- tabla_b
> 
> 
> - tabla_a (id serial pk, descrip varchar, estado booblean)
> - tabla_b (id serial pk, id_tabla_a integer fk, descrip varchar)
> 
> 
> Deseo agregar una restricción a la tabla_a, si el campo "estado" es
> true no debe haber ninguna referencia en la tabla_b de la tabla_a.
> 
> 
> Espero me den un empujón.
> Saludos.
> 
> Bach. Ing. de Sistemas Pedro Ricardo Pejerrey Gómez
> ------------------------------------------------------------------------
> Área de TI en Provias Nacional - Zonal Piura - Tumbes
> Analista Programador && DBA
> FreeLancer MVC
> 
> 

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a