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

triggers

Estas en el tema de triggers en el foro de Oracle en Foros del Web. hola. Estos creando un trigger para que cada vez que inserte un dato en la tabla empleados me actualice otra tabla, con la suma da ...
  #1 (permalink)  
Antiguo 02/02/2013, 16:39
Avatar de dartcoupli  
Fecha de Ingreso: febrero-2013
Ubicación: España
Mensajes: 13
Antigüedad: 11 años, 2 meses
Puntos: 0
triggers

hola. Estos creando un trigger para que cada vez que inserte un dato en la tabla empleados me actualice otra tabla, con la suma da cada registro. Aquí os dejo el código, no se pero no se actualiza la tabla total, ¡porque puede ser?

create or replace trigger "EMPLEADOS_T1"
BEFORE
insert or update or delete on "EMPLEADOS"
DECLARE
sumasalario NUMBER(4,0);
sumacomision NUMBER(4,0);
BEGIN
select sum(salario) into sumasalario from empleados;
select sum(comision) into sumacomision from empleados;
UPDATE total set saldo_total = 'sumasalario';
end;

SALUDOS.
  #2 (permalink)  
Antiguo 04/02/2013, 07:35
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: triggers

Cambia el update.
Código SQL:
Ver original
  1. UPDATE total SET saldo_total = (sumasalario+sumacomision);

Sin comillas
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 06/02/2013, 20:35
 
Fecha de Ingreso: diciembre-2011
Mensajes: 21
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: triggers

Hola trata esto:

create or replace trigger "EMPLEADOS_T1"
BEFORE
insert or update or delete on "EMPLEADOS"
DECLARE
sumasalario NUMBER(4,0);
sumacomision NUMBER(4,0);
BEGIN
select sum(salario) into sumasalario from empleados;
select sum(comision) into sumacomision from empleados;
UPDATE total
set saldo_total = sumasalario + sumacomision,
where (Aqui va con que identificas a "total" Ej: new.Id o old.Id = Id);
end;
​/
(el / en oracle da la instruccion de compilar y ejecutar)

Saludos

Etiquetas: select, tabla
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 08:16.