Principales respuestas
Manejo de validación con procedimientos almacenados

Pregunta
-
Hola amigos.
Quiero hacer un procedimiento que valide ciertas condiciones antes de insertar algún registro, pero no sé cómo manejar los mensajes para que el sistema se de cuenta porque razón no se inserto el registro, voy a mostrarles un caso hipotético.
Supongamos que quiero insertar un empleado nuevo, pero no se pueden ingresar empleados menores de edad, entonces el procedimiento le hago el respectivo IF y me doy cuenta que no se puede insertar, y quiero que mi sistema le diga al usuario "Menor de edad, no se puede agregar", entonces no sé como el procedimiento le puede comunicar eso al sistema.
O también puede ser que la empresa no deja venderle a un cliente a crédito, si tiene facturas pendientes, entonces el procedimiento almacenado que inserta la venta, primero verifica en las tablas "FacturasPendientes" y si encuentra alguna pendiente, tiene que devolverle un mensaje al sistema que no se puede insertar porque tiene pendientes. ¿Cómo hago que el procedimiento almacenado retorne ese mensaje y como hago que el sistema lo lea? puede ser para VB o C#.
En resumen ¿Cual es la mejor práctica para que un procedimiento retorne un mensaje al sistema y como lo debería capturar el sistema?
Muchas gracias.
Respuestas
-
Hola.
Deberías elevar un Raiserror de baja severidad. Revisa raiserror: http://msdn.microsoft.com/es-es/library/ms177497.aspx
También puedes devolver los mensajes de otras formas, pero esa es la que está diseñada para ello.
Alberto López Grande (Visita mi blog en http://qwalgrande.blogspot.es/)- Propuesto como respuesta Alberto López Grande (qwalgrande)Moderator martes, 4 de mayo de 2010 17:31
- Marcado como respuesta Jose Elias martes, 4 de mayo de 2010 20:03
-
Además de la refernecia de alberto, en esta puedes ver como rescatar esos datos en VB
http://support.microsoft.com/default.aspx/kb/321903/es?p=1
y aquí una quizá hasta más completa de Jose miguel torres
Saludos
Comparte lo que sepas, aprende lo que no sepas (FGG)- Marcado como respuesta Jose Elias martes, 4 de mayo de 2010 20:09
Todas las respuestas
-
Hola.
Deberías elevar un Raiserror de baja severidad. Revisa raiserror: http://msdn.microsoft.com/es-es/library/ms177497.aspx
También puedes devolver los mensajes de otras formas, pero esa es la que está diseñada para ello.
Alberto López Grande (Visita mi blog en http://qwalgrande.blogspot.es/)- Propuesto como respuesta Alberto López Grande (qwalgrande)Moderator martes, 4 de mayo de 2010 17:31
- Marcado como respuesta Jose Elias martes, 4 de mayo de 2010 20:03
-
Además de la refernecia de alberto, en esta puedes ver como rescatar esos datos en VB
http://support.microsoft.com/default.aspx/kb/321903/es?p=1
y aquí una quizá hasta más completa de Jose miguel torres
Saludos
Comparte lo que sepas, aprende lo que no sepas (FGG)- Marcado como respuesta Jose Elias martes, 4 de mayo de 2010 20:09