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

Trigger al insertar fila

Estas en el tema de Trigger al insertar fila en el foro de Oracle en Foros del Web. Tengo una tabla con los intervinientes. INTERVINIENTES. CAMPO CIF CAMPO NOMBRE CAMPO ..... CAMPO ID_NAT_SYS_CODE CAMPO ID_NAT CAMPO .... Tengo una tabla y se pueden ...
  #1 (permalink)  
Antiguo 12/09/2012, 07:36
 
Fecha de Ingreso: septiembre-2007
Mensajes: 268
Antigüedad: 17 años, 2 meses
Puntos: 8
Trigger al insertar fila

Tengo una tabla con los intervinientes.

INTERVINIENTES.
CAMPO CIF
CAMPO NOMBRE
CAMPO .....
CAMPO ID_NAT_SYS_CODE
CAMPO ID_NAT
CAMPO ....

Tengo una tabla y se pueden dar de alta filas en esta tabla desde distintas aplicaciones, me gustaria que cuando se de alta una fila y el valor de la columna
ID_NAT_SYS_CODE = '00024', si el campo ID_NAT esta vacio, se actualice con el CIF de la fila.

Muchas gracias y perdonen las molestias.

PD: El valor por defecto de id_nat_sys_code sino se introduce nada es '00024'
  #2 (permalink)  
Antiguo 12/09/2012, 11:34
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Trigger al insertar fila

Es un problema relativamente simple, que no requiere mucha codificación.
¿Qué problema tienes para crear por ti mismo el TRIGGER?
¿El código o la lógica a aplicar?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 13/09/2012, 01:10
 
Fecha de Ingreso: septiembre-2007
Mensajes: 268
Antigüedad: 17 años, 2 meses
Puntos: 8
Respuesta: Trigger al insertar fila

me daba un error de compilacion y despues de solucionarlo me daba un error en la ejecucion.

Pero al final lo he solucionado.

DROP TRIGGER ORDERS_AFTER_INSERT;

CREATE OR REPLACE TRIGGER orders_after_insert
BEFORE INSERT
ON INTERVINIENTES FOR EACH ROW
BEGIN



IF ((:new.id_nat_sys_code = '00024') AND (:new.id_nat is null)) then

:new.id_nat := :new.cif;
END IF;


END;

Etiquetas: fila, tabla, 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 17:01.