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

Error al crear Trigger

Estas en el tema de Error al crear Trigger en el foro de Oracle en Foros del Web. Saludos Se me está presentando un error al crear un trigger para hacer un log en ORACLE 10g, el procedimiento es el siguiente: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); ...
  #1 (permalink)  
Antiguo 23/08/2013, 08:41
 
Fecha de Ingreso: abril-2012
Ubicación: Bucaramanga
Mensajes: 18
Antigüedad: 12 años, 6 meses
Puntos: 0
Error al crear Trigger

Saludos

Se me está presentando un error al crear un trigger para hacer un log en ORACLE 10g, el procedimiento es el siguiente:
Código SQL:
Ver original
  1. CREATE OR REPLACE TRIGGER "CXP".UPD_LOGTSOL1070
  2.     BEFORE UPDATE OF auxi,
  3.                      fecharad,
  4.                      pregunta1,
  5.                      pregunta2,
  6.                      pregunta3,
  7.                      pregunta4,
  8.                      fechacre
  9.     ON "CXP".TE_TSOL1070
  10.     REFERENCING NEW AS NEW OLD AS OLD
  11.     FOR EACH ROW
  12. BEGIN
  13.     IF :NEW.auxi <> :OLD.auxi
  14.     THEN
  15.         INSERT INTO LOG_TSOL1070
  16.              VALUES ('auxi', :OLD.auxi, :NEW.auxi, USER, SYSDATE, :NEW.cias,
  17.                      :NEW.vigencia, :NEW.auxi, :NEW.fecharad, :NEW.pregunta1,
  18.                      :NEW.pregunta2, :NEW.pregunta3, :NEW.pregunta4,
  19.                      :NEW.fechacre, :NEW.usersol);
  20.     END IF;
  21.     IF :NEW.fecharad <> :OLD.fecharad
  22.     THEN
  23.         INSERT INTO LOG_TSOL1070
  24.              VALUES ('fecharad', :OLD.fecharad, :NEW.fecharad, USER, SYSDATE,
  25.                      :NEW.cias, :NEW.vigencia, :NEW.auxi, :NEW.fecharad,
  26.                      :NEW.pregunta1, :NEW.pregunta2, :NEW.pregunta3,
  27.                      :NEW.pregunta4, :NEW.fechacre, :NEW.usersol);
  28.     END IF;
  29.     IF :NEW.pregunta1 <> :OLD.pregunta1
  30.     THEN
  31.         INSERT INTO LOG_TSOL1070
  32.              VALUES ('pregunta1', :OLD.pregunta1, :NEW.pregunta1, USER,
  33.                      SYSDATE, :NEW.cias, :NEW.vigencia, :NEW.auxi,
  34.                      :NEW.fecharad, :NEW.pregunta1, :NEW.pregunta2,
  35.                      :NEW.pregunta3, :NEW.pregunta4, :NEW.fechacre,
  36.                      :NEW.usersol);
  37.     END IF;
  38.     IF :NEW.pregunta2 <> :OLD.pregunta2
  39.     THEN
  40.         INSERT INTO LOG_TSOL1070
  41.              VALUES ('pregunta2', :OLD.pregunta2, :NEW.pregunta2, USER,
  42.                      SYSDATE, :NEW.cias, :NEW.vigencia, :NEW.auxi,
  43.                      :NEW.fecharad, :NEW.pregunta1, :NEW.pregunta2,
  44.                      :NEW.pregunta3, :NEW.pregunta4, :NEW.fechacre,
  45.                      :NEW.usersol);
  46.     END IF;
  47.     IF :NEW.pregunta3 <> :OLD.pregunta3
  48.     THEN
  49.         INSERT INTO LOG_TSOL1070
  50.              VALUES ('pregunta3', :OLD.pregunta3, :NEW.pregunta3, USER,
  51.                      SYSDATE, :NEW.cias, :NEW.vigencia, :NEW.auxi,
  52.                      :NEW.fecharad, :NEW.pregunta1, :NEW.pregunta2,
  53.                      :NEW.pregunta3, :NEW.pregunta4, :NEW.fechacre,
  54.                      :NEW.usersol);
  55.     END IF;
  56.     IF :NEW.pregunta4 <> :OLD.pregunta4
  57.     THEN
  58.         INSERT INTO LOG_TSOL1070
  59.              VALUES ('pregunta4', :OLD.pregunta4, :NEW.pregunta4, USER,
  60.                      SYSDATE, :NEW.cias, :NEW.vigencia, :NEW.auxi,
  61.                      :NEW.fecharad, :NEW.pregunta1, :NEW.pregunta2,
  62.                      :NEW.pregunta3, :NEW.pregunta4, :NEW.fechacre,
  63.                      :NEW.usersol);
  64.     END IF;
  65.     IF :NEW.fechacre <> :OLD.fechacre
  66.     THEN
  67.         INSERT INTO LOG_TSOL1070
  68.              VALUES ('fechacre', :OLD.fechacre, :NEW.fechacre, USER, SYSDATE,
  69.                      :NEW.cias, :NEW.vigencia, :NEW.auxi, :NEW.fecharad,
  70.                      :NEW.pregunta1, :NEW.pregunta2, :NEW.pregunta3,
  71.                      :NEW.pregunta4, :NEW.fechacre, :NEW.usersol);
  72.     END IF;
  73. END;
y el error es el siguiente:
Error(12, : PLS-00049: la variable ligada 'NEW.CIAS' es errónea
Error(17, : PLS-00049: la variable ligada 'NEW.CIAS' es errónea
Error(22, : PLS-00049: la variable ligada 'NEW.CIAS' es errónea
Error(27,9): PLS-00049: la variable ligada 'NEW.CIAS' es errónea
Error(32,9): PLS-00049: la variable ligada 'NEW.CIAS' es errónea
Error(37,9): PLS-00049: la variable ligada 'NEW.CIAS' es errónea
Error(42,9): PLS-00049: la variable ligada 'NEW.CIAS' es errónea

Agradezco toda la colaboración posible.

Última edición por gnzsoloyo; 23/08/2013 a las 10:36 Razón: REformateo para mejor entendimiento. Por favor, usar una herramienta que genere codigo comprensible.,
  #2 (permalink)  
Antiguo 29/08/2013, 09:37
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Respuesta: Error al crear Trigger

Este caso se produce si la tabla CXP.TE_TSOL1070, que es la que contiene el trigger, no tiene la columna CIAS y por lo tanto, no se puede hacer referencia a :NEW.CIAS

Saludos

Etiquetas: insert, trigger
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 12:43.