Oracle - Call function desde un trigger...

 
Vista:

Call function desde un trigger...

Publicado por Fabian Massey (1 intervención) el 06/07/2006 04:42:39
Hola para todos:

estoy incursionando en el mundo Oracle 9i... necesito realizar unas operaciones con registros para lo cual he creado una funcion llamada get_VarDiaria, ahora el problema ha sido q no he encontrado la manera de llamar dicha funcion desde un trigguer q afecte todos lo registros. Apecio todo la ayuda q me puedan brindar...

CREATE OR REPLACE FUNCTION get_VarDiaria(v_emisor IN VARCHAR2, v_fecha IN DATE) RETURN NUMBER IS
a_fecha DATE;
v_total NUMBER(17,2);
ant_pca NUMBER(17,2);
act_pca NUMBER(17,2);
a_var NUMBER(17,2);
BEGIN
a_fecha := v_fecha - 1;
SELECT SUM(voltr)INTO v_total FROM diario WHERE (emisor = v_emisor)AND(fecha = a_fecha);
WHILE(v_total IS NULL)LOOP
a_fecha := a_fecha - 1;
SELECT SUM(voltr)INTO v_total FROM diario WHERE (emisor = v_emisor)AND(fecha = a_fecha);
END LOOP;
SELECT pca INTO ant_pca FROM diario WHERE (emisor = v_emisor)AND(fecha = a_fecha);
SELECT pca INTO act_pca FROM diario WHERE (emisor = v_emisor)AND(fecha = v_fecha);

SELECT (((act_pca/ant_pca)-1)*100) INTO a_var FROM dual;

RETURN(a_var);
END;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Call function desde un trigger...

Publicado por Gustavo (8 intervenciones) el 22/11/2006 00:04:37
Tienes que hacer un trigger:
Create trigger y usas la cláusula on each row y llamas a la función, de cualquier manera debes colocar los eventos before o after y la acción (INSERT, UPDATE, DELETE)... debería funcionar... verifica primero que la función compile bien...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar