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

Validacion de reigstro dado

Estas en el tema de Validacion de reigstro dado en el foro de Oracle en Foros del Web. Wenas A ver si me pueden ayudar con un problemita, se los agradeceria mucho, En un trigger tengo Cita: AFTER INSERT ON ITEM... ... SELECT ...
  #1 (permalink)  
Antiguo 06/07/2009, 14:21
Avatar de xrax063  
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 14 años, 9 meses
Puntos: 0
Pregunta Validacion de reigstro dado

Wenas A ver si me pueden ayudar con un problemita, se los agradeceria mucho,



En un trigger tengo

Cita:
AFTER INSERT ON ITEM...
...
SELECT VAL_PRODUCTO INTO valor
FROM LISTA_PRECIOS, PRODUCTO, PEDIDO, OBRA, CONSTRUCTORA
WHERE
LISTA_PRECIOS.COD_PRODUCTO = PRODUCTO.COD_PRODUCTO AND
PRODUCTO.COD_PRODUCTO = :NEW.COD_PRODUCTO AND
:NEW.COD_PEDIDO = PEDIDO.COD_PEDIDO AND
PEDIDO.COD_OBRA = OBRA.COD_OBRA AND
OBRA.COD_CONSTRUCTORA = CONSTRUCTORA.COD_CONSTRUCTORA AND
LISTA_PRECIOS.COD_CONSTRUCTORA = CONSTRUCTORA.COD_CONSTRUCTORA;
... el caso es que estoy tomando el valor de producto de un lista de precios, pero no todos los productos estan en la lista de precios por que se van insertando apenas los piden por primera vez, ose que los que no han pedido no estan, otro dato que creo que es relevante es que mi tabla L_PRECIOS tiene llave primaria compuesta que son COD_PRODUCTO y COD_CONSTRUCTORA es decir que un registro de esta tabla necesita de ambos codigos, y ps se pueden repetir cada uno pero ambos no, necesito validar que estos dos existan y si no existen se salga del trigger sin hacer nda, llevo ya como dos dias pensando y todo lo que se me ocurre o encuentro por ahi en foros no sirve, porfavor agradezco mucho esta ayuda.

.. si no me hice explicar por favor diganme y lo intento de nuevo
  #2 (permalink)  
Antiguo 07/07/2009, 21:07
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 1 mes
Puntos: 7
Respuesta: Validacion de reigstro dado

"ecesito validar que estos dos existan y si no existen se salga del trigger sin hacer nda,"

no analize toda tu consulta pero con un

exception when no_data_found then
null;
end;

igual funcione
__________________
Blogzote.com :-) Mi blog
  #3 (permalink)  
Antiguo 08/07/2009, 08:29
Avatar de xrax063  
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Validacion de reigstro dado

JEJEJE!!
MUCHAS GRACIAS
no se me habia ocurrido una excepcion! claro es el caso exacto! talvez por lo que soy nuevo... muchas gracias en serio salvaste un empleo!
  #4 (permalink)  
Antiguo 08/07/2009, 10:05
Avatar de xrax063  
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Validacion de reigstro dado

Otra pregunta... si quiero que haga una insercion en una tabla cuando se produce el no_data_found, simplemente seria

EXCEPTION
WHEN NO_DATA_FOUND THEN
INSERT INTO LISTA_PRECIOS (COD_CONSTRUCTORA, COD_PEDIDO, VAL_PRODUCTO)
VALUES (100, :NEW.COD_PRODUCTO, :NEW.VAL_NUEVO);

END;


????
por que por lo menos en el trigger no lo recibe :(
  #5 (permalink)  
Antiguo 08/07/2009, 23:01
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 1 mes
Puntos: 7
Respuesta: Validacion de reigstro dado

un insert en un excepcion es totalmente normal, no entiendo lo ultimo

"por que por lo menos en el trigger no lo recibe :("
__________________
Blogzote.com :-) Mi blog
  #6 (permalink)  
Antiguo 02/12/2009, 08:15
Avatar de xrax063  
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Validacion de reigstro dado

jajaja no era un error de sintaxis, y sorry por la demooooooora pero es que el dia que tu me respondiste nos robaron los pc's! :( y ps hasta orita estoy retomando el oracle... que por cierto se me iba olvidando :s.... muchas graciass!!!
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 15:08.