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

--
TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net

Responder a