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

Ayuda con trigger a nivel de BD

Estas en el tema de Ayuda con trigger a nivel de BD en el foro de Oracle en Foros del Web. Buen dia a todos. Acudo a ustedes nuevamente dada la experiencia que tienen con oracle. Les comento que estoy creando un trigger de base de ...
  #1 (permalink)  
Antiguo 25/03/2008, 09:09
 
Fecha de Ingreso: enero-2007
Ubicación: Cali - Valle
Mensajes: 135
Antigüedad: 17 años, 10 meses
Puntos: 4
Ayuda con trigger a nivel de BD

Buen dia a todos.


Acudo a ustedes nuevamente dada la experiencia que tienen con oracle.

Les comento que estoy creando un trigger de base de datos y me gustaria que me ayudaran ya que tengo creado el trigger pero al momento de compilarlo en el toad me muestra el siguiente error ORA-04073: Column list not valid for this trigger type.

A continuación les dejo el codigo del trigger


Código:
CREATE OR REPLACE TRIGGER "DESARROLLADOR1".TVALADIC
BEFORE INSERT OF TIPO ON TDCAPOBRAS 
FOR EACH ROW
DECLARE
/********************************************************************************************
   NAME:       TVALADIC

   PURPOSE:    Cada vez que se adicione una obra en tboratec el campo de codigo se insertara  un registro de permiso de adicionales para la obra
   
******************************************************************************/
v_codigo, v_tbobratec_cod number(10);
v_permiso VARCHAR2(1) := 'N';

CURSOR cureser IS 
	   		   	   SELECT codigo,TDBVIRT_COD 
				   FROM TBOBRATEC
				   WHERE codigo=:NEW.codigo;
				     
BEGIN


	if inserting then
			
			SELECT MAX(CODIGO)+1 INTO v_codigo
			FROM TDVALADIC;
			
			
			INSERT INTO desarrollador1.TDVALADIC(CODIGO, TBOBRATEC_COD, PER_ADIC)
			VALUES(v_codigo, :NEW.codigo, 'N');
	
	end if;
			
END TVALADIC;
Les agradezco de antemano cualquier ayuda que me puedan dar.


Scooby
  #2 (permalink)  
Antiguo 25/03/2008, 09:25
 
Fecha de Ingreso: febrero-2008
Mensajes: 10
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: Ayuda con trigger a nivel de BD

Buenas tardes lo correcto sería
BEFORE INSERT OR UPDATE OF TIPO ON TDCAPOBRAS
ó sino quieres hacer update sería sólo con el nombre de la tabla
BEFORE INSERT ON TDCAPOBRAS
Espero que te sirva saludos.
  #3 (permalink)  
Antiguo 25/03/2008, 09:44
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Re: Ayuda con trigger a nivel de BD

Hola,

Los triggers definidos para columnas solo pueden ser disparados por el evento UPDATE, es decir, cuando se hace un INSERT o un DELETE, se esta hablando de filas, no de columnas.

Saludos
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 04:22.