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
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 |