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

Como utilizar un if UPDATE o if INSERT en trigger

Estas en el tema de Como utilizar un if UPDATE o if INSERT en trigger en el foro de Oracle en Foros del Web. Hola que tal, Espero alguien me pueda ayudar con esta pregunta, lo que intento hacer es que si un registro se actualiza, en caso de ...
  #1 (permalink)  
Antiguo 30/06/2009, 15:06
Avatar de vangh  
Fecha de Ingreso: febrero-2007
Mensajes: 66
Antigüedad: 14 años, 9 meses
Puntos: 1
Pregunta Como utilizar un if UPDATE o if INSERT en trigger

Hola que tal,

Espero alguien me pueda ayudar con esta pregunta, lo que intento hacer es que si un registro se actualiza, en caso de que no exista, haga una insercion en la misma tabla.. tengo algo asi pero parece que no funciona:

Código:
create or replace trigger UPDATE_DATA
after update on MI_TABLA
begin

if update then
-- updated!;
else
insert into MI_TABLA(ID1,DESCRICPION)
               VALUES (:NEW.ID2,:NEW.DESCRIPCION);
end if;

end;
pongo el ":NEW.ID2" porque no quiero que se inserte el mismo ID si no otro que tengo.. bueno la duda que tengo es si se puede utilizar el "if UPDATE" o "if INSERT" o como podría ser.. Gracias de antemano.
Saludooos!! ;)
  #2 (permalink)  
Antiguo 30/06/2009, 16:05
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 14 años, 5 meses
Puntos: 43
Respuesta: Como utilizar un if UPDATE o if INSERT en trigger

If inserting then
............
Else
.........
End if;
  #3 (permalink)  
Antiguo 30/06/2009, 17:46
Avatar de vangh  
Fecha de Ingreso: febrero-2007
Mensajes: 66
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Como utilizar un if UPDATE o if INSERT en trigger

Muchas Gracias JC, me y para el update es..

if (UPDATING) then
----
else
----
end if.

Gracias!!
  #4 (permalink)  
Antiguo 01/07/2009, 00:16
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 14 años, 5 meses
Puntos: 43
Respuesta: Como utilizar un if UPDATE o if INSERT en trigger

Efectivamente.

No sé si el parentesis es correcto, pero es como pones. De todas maneras no te hace falta. Si tienes un BEFORE INSERT OR UPDATE si no te entra por el IF es que estás "updateando" :

IF INSERTING THEN -- Estamos Insertando
XXXXX
ELSE -- Estamos updateando
XXXXX
END IF;

O viceversa, por supuesto :

IF UPDATING THEN -- Estamos updateando
XXXXX
ELSE -- Estamos Insertando
XXXXX
END IF;
  #5 (permalink)  
Antiguo 03/07/2009, 17:24
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 17 años, 8 meses
Puntos: 7
Respuesta: Como utilizar un if UPDATE o if INSERT en trigger

aunque por logica con un BEFORE INSERT OR UPDATE bastaria un if updating then else yo recomendaria usar un

if updating then
elseif inserting then
end if

hace mas comprensible el codigo
__________________
Blogzote.com :-) Mi blog
  #6 (permalink)  
Antiguo 06/07/2009, 01:00
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 14 años, 5 meses
Puntos: 43
Respuesta: Como utilizar un if UPDATE o if INSERT en trigger

Es otra manera igual de buena, ya sabemos que para gustos colores.

Un saludo

PD : Pequeña correcion : No es ELSEIF, es ELSIF
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 09:20.