Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/10/2009, 05:01
ostraspedrin2000
 
Fecha de Ingreso: octubre-2009
Mensajes: 5
Antigüedad: 14 años, 6 meses
Puntos: 0
inserción con control de integridad

Buenas a todos,
es la primera vez que escribo en un foro y mi problema es el siguiente:

- estoy utilizando un cursor en pl/sql para leer de varias tablas e insertar en otra, la tabla destino tiene claves foráneas y no se como hacer para que me inserte los registros que me cumpla la clave foránea y los que no la cumplan no se inserten y me salga un mensaje.

De momento tengo lo siguiente:

DECLARE CURSOR cprueba IS

SELECT a.campo reg1, b.campo reg2
FROM tablaA a, tablaB b

cprueba_rec cprueba%ROWTYPE;
BEGIN
FOR cprueba_rec IN cprueba

LOOP
INSERT INTO tablaC
(campoA, campoB)
VALUES (cprueba_rec.reg1,
cprueba_rec.reg1);
END LOOP;
END;

(donde tablaC.campoA y tablaC.campoB son claves foráneas)

Aunque hay registros que cumplen esas claves foráneas no me inserta nada y me sale el siguiente mensaje:

ORA-02291: restricción de integridad (FK_campoB) violada - clave principal no encontrada

Les doy las gracias de antemano.

Saludos.