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

Trigger before insert por cada registro

Estas en el tema de Trigger before insert por cada registro en el foro de Oracle en Foros del Web. Estoy imprementado una rutina de validacion de un cargue de datos a una tabla, lo que quiero hacer es que antes de Insert el dato ...
  #1 (permalink)  
Antiguo 30/07/2009, 08:23
 
Fecha de Ingreso: marzo-2007
Mensajes: 7
Antigüedad: 14 años, 9 meses
Puntos: 0
Trigger before insert por cada registro

Estoy imprementado una rutina de validacion de un cargue de datos a una tabla, lo que quiero hacer es que antes de Insert el dato primero realice unas validaciones con respecto a el contenido (Si es NULL o NO), la longitud del dato, si ese campo es requerido o NO, en el caso de ser requerido debe llevar algun dato, y ademas que el dato cumpla con valor predeterminado, todo esto lo he hecho hasta ahora asi:

He creado un trigger BEFORE INSERT por cada registro, en la tabla, que me hace el llamado a una funcion,

En la funcion hago todas las validaciones y comparaciones pertinentes, con la funcion hago un RETURN, 1 si todo esta bien y puede insertar o 0 cero, si en las validaciones los datos no cumplen, es decir que no puedo insertar el registro.

Pero mi pregunta es la siguiente, cuando hago el RETURN de la funcion al triger, como sabe el trigger si debe insertar el registro, no se cual es la instruccion que debo utilizar.

Gracias

Ivan G.
  #2 (permalink)  
Antiguo 30/07/2009, 08:55
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 12 años, 9 meses
Puntos: 360
Respuesta: Trigger before insert por cada registro

Que tal ivalipe.

Apenas empiezo en este mundo, pero no creo que sea posible lo que buscas.
Yo te recomendaría hacer uso de la función validar que tienes antes de insertar, pero no llamada desde el trigger.

Según entiendo, un trigger es un disparador de eventos automáticos y no creo que haya forma de disparar el evento (validar datos) y después arrepentirse de dispararlo.

Mi recomendación es hacer la inserción dentro de la función que validas los datos o bien, controlar desde el sistema, el retorno de la función para proceder a insertar.

Puedo estar equivocado.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 30/07/2009, 11:05
 
Fecha de Ingreso: junio-2009
Ubicación: Guadalajara Jalisco Mexico
Mensajes: 56
Antigüedad: 12 años, 5 meses
Puntos: 2
Respuesta: Trigger before insert por cada registro

Para los valores nulos, simplemente pon que la columna no acepte nulos, para todo lo demas mejor pon un constraint check que valide todo lo que necesites.

Los triggers y mas si vas a hacer una carga masiva te pueden afectar en el performance, hay que estudiar bien si son la unica opcion a la hora de implementarlos.

Saludos.
  #4 (permalink)  
Antiguo 31/07/2009, 09:41
 
Fecha de Ingreso: julio-2009
Mensajes: 52
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Trigger before insert por cada registro

coloca el ejemplo para ver en que se te puede ayudar
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 19:23.