![]() |
TRIGGER en oracle 10g. ke tal tengo una tabla que se llama mitabla y tiene tres campos c1,c2 y media todos numericos... quiero hacer un trigger ke actualice media con la media de c1 y c2 cuando se haga un insert o un update; pongo lo siguiente pero no funciona cuando hago un update no hace nada el trigger... create or replace trigger promedio after update or insert on mitabla for each row declare media number; begin select (:new.c1 + :new.c2)/2 into media from dual; end; / que modifico o ke puedo hacer..? salu2. |
para facil, solo te faltaria asignarle el valor al campo, o sea la linea :new.media := media; aunque no es necesario hacer el select, podrias hacer ( si no mal recuerdo ) :new.media := (:new.c1 + :new.c2) / 2; |
mmm no amigo, si pongo: create or replace trigger promedio after update or insert on mitabla for each row declare media number; begin select (:new.c1 + :new.c2)/2 into media from dual; :new.media := media; end; / ************ create or replace trigger promedio after update or insert on mitabla for each row begin :new.media (:new.c1 + :new.c2)/2; end; / tambien marca error .... nose como se te ocurriria que podria kedar bien..? salu2. |
encuentra las diferencias entre :new.media := (:new.c1 + :new.c2) / 2; y :new.media (:new.c1 + :new.c2)/2; |
Respuesta: TRIGGER en oracle 10g. Hola: Conseguí que me funcionara cambiando AFTER por BEFORE create or replace trigger promedio before update or insert on mitabla for each row declare media number; begin select ((:new.c1 + :new.c2)/2) into media from dual; :new.media := media; end; |
Respuesta: TRIGGER en oracle 10g. Cerrado por obsolecencia (Politica 2.7 - FDW). El post tiene siete (7) años y el usuario que lo abrió no se ha conectado en más de cuatro años. |
| La zona horaria es GMT -6. Ahora son las 22:12. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.