 
			
				25/06/2007, 10:19
			
			
			     |  
        |     |    |    Fecha de Ingreso: septiembre-2004  
						Mensajes: 25
					  Antigüedad: 21 años, 1 mes Puntos: 0     |        |  
  |      Re: Consulta sobre Triggers        Hola Claudio, ese link ya lo habia visto, y no me ayudo mucho.   
- Ya que uno de los usuarios que respondio a la consulta hecha fué que se    
  podría ejecutar una sentencia que violara una restriccion y asi arroja un error   
  y no ejecutaria la accion (INSERT, UPDATE o DELETE).   
EJ:   
CREATE TRIGGER chequea_precio BEFORE INSERT OR UPDATE ON libros 
FOR EACH ROW 
.... 
IF new.precio <= 0 
INSERT INTO tabla (id) values (NULL); 
END IF; 
END; 
....   
Donde el campo id de la tabla no puede ser NULL, esto funciona debido a que no ejecuta la accion (INSERT, UPDATE o DELETE), pero muestra un error de violacion de restricción.    Pero es esta forma transparente, o digna de una Base de Datos Relacional????   
No lo creo, lo ideal seria que podamos arrojar nuestros propios mensajes de error y se cancele la acción.   
- Otra cosa que decia otro usuario, era crear un procedimiento almacenado  
  que maneje errores personalizados, lo hice tambien, y en triggers se puede   
  llamar al procedimiento, pero me arroja un error que el trigger no puede   
  devolver ese tipo de dato. 
  ERROR 1415 (0A000): Not allowed to return a result set from a trigger   
Además me imagino que si funcionara, solo retornaría el mensaje, pero no cancelaría la acción (INSERT, UPDATE o DELETE), y eso es lo que le falta a MySQL con respecto a los triggers segun mi modesta opinión.   
Algo como una clausula EXIT, CONTINUE, he probado de muchas formas y aun no encuentro la correcta.   
Gracias de todas maneras Claudio por tu ayuda.   
Disculpen lo largo del post, me emocioné :-p           |