
08/10/2009, 05:01
|
| | Fecha de Ingreso: octubre-2009
Mensajes: 5
Antigüedad: 15 años, 4 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. |