Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Oracle (https://www.clubdelphi.com/foros/forumdisplay.php?f=22)
-   -   procedimiento almacenado (https://www.clubdelphi.com/foros/showthread.php?t=53772)

lurad 29-02-2008 06:10:25

procedimiento almacenado
 
que tal tengo un problema que problamente les resulte sencillo pero yo me e partido la cabeza
tengo el siguiente procedimiento

create or replace
PROCEDURE BORRAREMPLEADO (ID EMPLEADOS.ID_EMPLEADO%TYPE)
AS
BEGIN
DELETE FROM EMPLEADOS
WHERE ID_EMPLEADO=ID;
COMMIT;


END BORRAREMPLEADO;

el problema es que cuando ejecuto el procedimiento no marca ninguna excepcion si el registro del parametro no existe, me gustaria que desplegara un mensaje diciendo que el empleado no existe pero no se como 'cachar' la excepcion.
Agradezco su ayuda o pistas :D
Saludos

jachguate 29-02-2008 07:18:05

Probá así:

Código SQL [-]
create or replace
PROCEDURE BORRAREMPLEADO (ID EMPLEADOS.ID_EMPLEADO%TYPE)
AS
BEGIN
  DELETE 
    FROM EMPLEADOS
   WHERE ID_EMPLEADO=ID;
  if (SQL%ROWCOUNT < 1) then
    RAISE_APPLICATION_ERROR(-20001, 'Empleado no encontrado '||id);
END BORRAREMPLEADO;

Hasta luego.

;)

pd. Por cierto, utilizá la etiqueta sql siempre que publiques trozos de código SQL. Yo la he usado, y supongo que notarás la diferencia... ¿no?

lurad 01-03-2008 05:05:25

funciono!! muchas gracias :D


La franja horaria es GMT +2. Ahora son las 05:35:06.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi