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

Excepción en trigger

Estas en el tema de Excepción en trigger en el foro de Oracle en Foros del Web. Hola a todos, estoy tratando de crear un trigger que cuando la inserción sea un duplicado entonces que realice otra accion.. tengo algo mas o ...
  #1 (permalink)  
Antiguo 03/07/2009, 10:23
Avatar de vangh  
Fecha de Ingreso: febrero-2007
Mensajes: 66
Antigüedad: 17 años, 1 mes
Puntos: 1
Excepción en trigger

Hola a todos, estoy tratando de crear un trigger que cuando la inserción sea un duplicado entonces que realice otra accion.. tengo algo mas o menos asi

Código:
CREATE OR REPLACE TRIGGER CHECK_DATA_E
AFTER INSERT
ON MI_TABLA 
FOR EACH ROW
DECLARE

BEGIN

EXCEPTION
 WHEN DUP_VAL_ON_INDEX THEN
 DBMS_OUTPUT.PUT_LINE('Excepcion por indice duplicado');
 end; 
END;
Al parecer me muestra un error de que "Encountered the symbol "EXCEPTION" when expecting"....

Saben cual podría ser el error?
Saludos y gracias de antemano.
  #2 (permalink)  
Antiguo 03/07/2009, 17:13
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 1 mes
Puntos: 7
Respuesta: Excepción en trigger

de entrada te manda error ya que entre el begin y el exception no existe nada, si no mal recuerdo esto no es posible en pl, prueba insertando un
begin
null;
exception

otra es que un end; sobra

otra historia es que eso funcione para lo que quieres, no creo de que se pueda hacer eso asi como lo planteas
__________________
Blogzote.com :-) Mi blog
  #3 (permalink)  
Antiguo 05/07/2009, 20:12
Avatar de vangh  
Fecha de Ingreso: febrero-2007
Mensajes: 66
Antigüedad: 17 años, 1 mes
Puntos: 1
De acuerdo Respuesta: Excepción en trigger

Si muchas gracias parece que era porque no había nada entre el begin y la excepción, al parecer no funcionará, tienes razon :D era lo que se me ocurrio al inicio. Lo que quiero es que si al momento de insertar el registro ya existe entonces que haga un update,
muchas gracias kikolice, 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 18:28.