Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Ejecución de SP dentro de un Trigger. ¿Se podrá hacer?

Estas en el tema de Ejecución de SP dentro de un Trigger. ¿Se podrá hacer? en el foro de Oracle en Foros del Web. Se podrán ejecutar SP dentro de un Trigger? ya que he estado intentando pero no logro conseguirlo, debe haber algo que me este faltando, a ...
  #1 (permalink)  
Antiguo 04/08/2009, 15:26
 
Fecha de Ingreso: junio-2009
Mensajes: 6
Antigüedad: 12 años
Puntos: 0
Ejecución de SP dentro de un Trigger. ¿Se podrá hacer?

Se podrán ejecutar SP dentro de un Trigger? ya que he estado intentando pero no logro conseguirlo, debe haber algo que me este faltando, a ver si alguien me echa una manito.

CREATE OR REPLACE TRIGGER "ESQUEMA"."NOMBRE_TRIGGER"
AFTER DELETE ON "ESQUEMA"."TABLA"
FOR EACH ROW
BEGIN
EXEC PRODECURE(:OLD.CAMPO_TABLA);
END;

Saludos
  #2 (permalink)  
Antiguo 05/08/2009, 03:28
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 13 años, 7 meses
Puntos: 85
Respuesta: Ejecución de SP dentro de un Trigger. ¿Se podrá hacer?

El código para ejecutar un procedimiento dentro de PL/SQL es sin el exec

Código:
begin
 nombre_proc(arg);
end;
Ten en mente que un trigger no puede contener ninguna gestión de transacciones, por lo tanto, tampoco puede tenerlo un procedimiento, función, etc que sea llamado desde un trigger.

Saludos
  #3 (permalink)  
Antiguo 05/08/2009, 08:57
 
Fecha de Ingreso: junio-2009
Mensajes: 6
Antigüedad: 12 años
Puntos: 0
Respuesta: Ejecución de SP dentro de un Trigger. ¿Se podrá hacer?

Lo he colocado sin la llamada 'EXEC' ó 'CALL' pero me arroja este error:

PLS-00201: identifier 'nombre_proc' must be declared

Es decir, espera el nombre del SP como si no estuviese declarado o no existiera, y por otro lado, el SP esta dentro del mismo esquema y todo. Lo que no se es si eso se podrá hacer o no, es lo unico que quiero saber.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:38.