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

Importante: Trigger en Mysql

Estas en el tema de Importante: Trigger en Mysql en el foro de Bases de Datos General en Foros del Web. Hola como ya deben saber la nueva version del Mysql ya soporta triggers, ahora necesito su ayuda porq no puedo pasar el trigger q tengo ...
  #1 (permalink)  
Antiguo 25/01/2005, 13:50
 
Fecha de Ingreso: octubre-2004
Mensajes: 7
Antigüedad: 19 años, 6 meses
Puntos: 0
Importante: Trigger en Mysql

Hola como ya deben saber la nueva version del Mysql ya soporta triggers, ahora necesito su ayuda porq no puedo pasar el trigger q tengo en Oracle a la sintaxis q ocupa el Mysql porfavor ayudenmeeee.
El trigger en Oracle es el siguiente :

create or replace trigger TRG_CFE_AVANCES
AFTER INSERT OR UPDATE OR DELETE
ON mysql.CFE_AVANCES
FOR EACH ROW
when (NEW.PORC_AVANCE <> OLD.PORC_AVANCE OR NEW.CANT_AVANCE <> OLD.CANT_AVANCE
OR NEW.FECHA_INICIO <> OLD.FECHA_INICIO OR NEW.FECHA_FIN <> OLD.FECHA_FIN
OR NEW.DESC_AVANCE <> OLD.DESC_AVANCE OR NEW.FACTOR <> OLD.FACTOR)
DECLARE
IS_INSERT BOOLEAN := FALSE;
IS_DELETE BOOLEAN := FALSE;
SWITCH1 number(4);
SWITCH2 number(4);
BEGIN
SWITCH1 := NVL(:NEW.AVANCE_ID,0);
SWITCH2 := NVL(:OLD.AVANCE_ID,0);

IS_INSERT := SWITCH1 !=0;
IS_DELETE := SWITCH2 !=0;

IF IS_INSERT AND NOT IS_DELETE THEN
BEGIN
--local
INSERT INTO mysql.A_CFE_AVANCES
VALUES(:NEW.SEC_ID,
:NEW.AVANCE_ID,
:NEW.PROY_RRHH_ID,
:NEW.INDICADOR_ID,
:NEW.FECHA_INICIO,
:NEW.FECHA_FIN,
:NEW.PORC_AVANCE,
:NEW.CANT_AVANCE,
:NEW.DESC_AVANCE,
:NEW.FACTOR,
:NEW.TARJ_NUMER,
USER,
'I',
SYSDATE);
END;
ELSE
IF IS_DELETE AND NOT IS_INSERT THEN
BEGIN
INSERT mysql.INTO A_CFE_AVANCES
VALUES(:NEW.SEC_ID,
:NEW.AVANCE_ID,
:NEW.PROY_RRHH_ID,
:NEW.INDICADOR_ID,
:NEW.FECHA_INICIO,
:NEW.FECHA_FIN,
:NEW.PORC_AVANCE,
:NEW.CANT_AVANCE,
:NEW.DESC_AVANCE,
:NEW.FACTOR,
:NEW.TARJ_NUMER,
USER,
'D',
SYSDATE);
END;
ELSE
BEGIN
-- local
INSERT mysql.INTO A_CFE_AVANCES
VALUES(:NEW.SEC_ID,
:OLD.AVANCE_ID,
:OLD.PROY_RRHH_ID,
:OLD.INDICADOR_ID,
:OLD.FECHA_INICIO,
:OLD.FECHA_FIN,
:OLD.PORC_AVANCE,
:OLD.CANT_AVANCE,
:OLD.DESC_AVANCE,
:OLD.FACTOR,
:OLD.TARJ_NUMER,
USER,
'U',
SYSDATE);
END;
END IF;
END IF;
END;

Gracias espero su respuesta lo mas rapido posible.
Necesito ese trigger en sintaxis de Mysql no lo logro sacar pofavor ayudenme gracias.

Última edición por jaic69; 25/01/2005 a las 13:55
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 01:28.