Es muy cierto que en el front-end podemos realizar muchísimas de las validaciones
necesarias a los datos. Sin embargo, en ocasiones resulta más conveniente realizarlo
en el lado del servidor, no solo porque nos ayuda a cuidar la integridad de la base
de datos, sino porque un cambio en un procedimiento almacenado, trigger, etc. no
implica recompilar y redistribuir el ejecutable de la aplicación.
Resulta entonces que en ocasiones necesitamos lanzar una excepción desde un procedimiento
almacenado como manera de avisar al front-end de que el proceso no pudo ser ejecutado
correctamente. ¿Cómo hacerlo en MySql?. La instrucción básica es muy sencilla:
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Mensaje de Error';
En el siguiente video podemos ver un ejemplo sencillo:
Esto funciona a partir de la versión 5.5 de MySql. Básicamente se asigna un código
de error ('45000' en este caso) y un mensaje como texto de la excepción. Existen
códigos de error predefinidos por MySql (ver
la lista) aunque, dado que la excepción ó signal que queremos levantar es
propia de nuestra aplicación/base de datos, es preferible utilizar un código que
no exista en esa lista.
Si quisiéramos ser mucho más específicos en la información que queremos enviar como
parte de la excepción,
podemos establecer otros valores.
Mi primera consulta acerca de este tema me llevó a un tema en
StackOverFlow y de allí busqué un poco más con un par de saltos en la web.
Saludos!
No hay comentarios.:
Publicar un comentario