Inserción Condicionada

From: miguel <mvillagomez(at)sayab(dot)com(dot)mx>
To: Lista Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Inserción Condicionada
Date: 2008-08-14 19:33:46
Message-ID: 1218742426.3318.3.camel@localhost
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Qué tal buenas tardes, tengo un problema interesante.
Hay forma de hacer un disparador que permita o niegue la escritura en
una tabla sin generar error?
Ejemplo:

Tengo las tablas:

Base
id_base | valores
---------------------
1 | BaseResp05
2 | BaseResp06
3 | BaseResp07

Excepciones
id_exc | id_base
-----------------
1 | 4
2 | 5

Quiero hacer un disparador que indique que cuando haga un insert a la
tabla "Base" como este:

INSERT INTO base(id_base, valores) VALUES(4,'BaseResp08');
INSERT INTO base(id_base, valores) VALUES(5,'BaseResp09');

Y el valor ya exista dentro de la tabla "excepciones" no haga la
inserción, pero no quiero que me genere un error.
La condición para el disparador es sencilla:

IF (New.id_base IN (SELECT DISTINCT ON(id_base) id_base FROM
excepciones)) THEN
####
END IF;

Más sin embargo que instrucción debo usar para que haga o no la
inserción?
--
Miguel Ángel Villagómez Díaz
Sayab Technologies S.C.
Tel. 3616-9100

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2008-08-14 19:40:16 Re: Inserción Condicionada
Previous Message Jaime Casanova 2008-08-14 18:08:14 Re: Referencia entre bases de datos