Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Oracle (http://www.forosdelweb.com/f100/)
-   -   Ayuda con trigger a nivel de BD (http://www.forosdelweb.com/f100/ayuda-con-trigger-nivel-bd-569018/)

scooby151 25/03/2008 09:09

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

muchy 25/03/2008 09:25

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.:pirata:

matanga 25/03/2008 09:44

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


La zona horaria es GMT -6. Ahora son las 18:50.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.