PDA

Ver la Versión Completa : Trigger - evitar borrado de registro


StartKill
03-03-2008, 21:50:04
Saludos Foro

Tengo experiencia con Delphi - Interbase/Firebrird y ahora trabajando con PHP - MySQL 5.0

Como es comun denominador -- Los que tenemos cierta experiencia siempre tratamos de aplicar lo aprendido en otras circunstancias.

Mi duda es la siguiente:

Necesito hacer un trigger "Antes de borrar" donde yo pregunte por una condicion y si la condicion se cumple continue el trigger su ejecucion - caso contrario no haga el delete
Ademas, de alguna forma el programa que ejecutó la sentencia delete se entere de que hubo un error.


A la espera de sus noticias.

Your friend

StartKill
Lima-Perú

StartKill
04-03-2008, 14:49:24
Buenas foro, encontré una solucion provicional,


CREATE TRIGGER `unidades_before_del_tr` BEFORE DELETE ON `unidades`
FOR EACH ROW
BEGIN
declare ncodi varchar(100);
if condicion1 then
select error_en_delete_cond1 into ncodi from unidades ;
end if;
if condicion2 then
select error_en_delete_cond2 into ncodi from unidades ;
end if;
if condicion3 then
select error_en_delete_cond3 into ncodi from unidades ;
end if;

END;


Los campos de los select
error_en_delete_cond1
error_en_delete_cond2
error_en_delete_cond3
No existen en la tabla unidades

Entonces, si no se cumple la condicion mysql tratará de hacer un select y mysql tendra un error, ese error dice + o -:

Campo error_en_delete_cond3 no existe en la tabla unidades.
Al menos tengo el mensaje por que del no borrado del registro.

Alguna otra idea?

Saludos

StartKill:cool:
Lima-Perú