Oracle - trigger que me actualize los datos de una columna

 
Vista:

trigger que me actualize los datos de una columna

Publicado por carlos (3 intervenciones) el 05/06/2016 05:57:00
hola quiero hacer un triger que me actualize los datos de una columna llamada puesto
donde la condicion es que el codigo de de la oficina (es otra columna de la misma tabla empleados) es 45200
en teoria esta correcta la sintaxis no me marca error

1
2
3
4
5
6
7
8
create or replace trigger ActualizarEmpleado
before update of Puesto
on Empleados
for each row
begin
UPDATE Puesto
SET Puesto='GERENCIA'
WHERE CodigoOficina='45200';

pero la hacer la consulta
no me hace el cambio a gerencia

donde esta mi error es el primer trigger que realizo
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
sin imagen de perfil
Val: 499
Oro
Ha mantenido su posición en Oracle (en relación al último mes)
Gráfica de Oracle

trigger que me actualize los datos de una columna

Publicado por Rafael (328 intervenciones) el 06/06/2016 12:51:07
A ver a primer bote... te falta un END; por lo que dudo que este compilado el trigger...

Luego aun y cuando compile te marca un error de que la tabla esta MUTANDO, esto significa que haces un UPDATE dentro de un UPDATE... a la misma tabla...

Luego entonces que deberias hacer???

algo similar a esto..
1
2
3
4
5
6
7
8
9
create or replace trigger ActualizarEmpleado
before update of Puesto
on Empleados
for each row
begin
   IF :NEW.CodigoOficina='45200' THEN
       :NEW.Puesto:='GERENCIA';
   END IF;
END;
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