Bonjour, je souhaites copier des valeurs d'une table à une autre.
Les deux table sont parfaitement identique. Mais elle possède une colonne de type LONG RAW (que je ne dois pas changer en LOB ...ce qui serait plus efficace ...)
Et je rencontre un pb avec les colonnes de type LONG RAW.
1er méthode :
INSERT INTO table_to select * from table_from
je récupère alors l'erreur : ORA-00997 Utilisation interdite du type de données LONG
2eme méthode (inspiré de plusieurs recherche !) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| DECLARE
CURSOR CUR IS
SELECT id, colLongRaw
FROM table_to;
rc CUR%ROWTYPE;
BEGIN
OPEN CUR;
LOOP
FETCH CUR INTO rc;
EXIT WHEN CUR%NOTFOUND;
INSERT INTO table_from
(
id,
colLongRaw
)
VALUES
(
rc.id
rc.colLongRaw
);
END LOOP;
COMMIT;
END; |
Voici l'erreur : ORA-06502 : erreur numérique ou erreur sur une valeur
(Rem : si j'enlève la colonne de type long Raw ça marche ... )
Vraisemblablement il est impossible d'utiliser la 1er méthode, mais je ne comprends pas pourquoi la seconde méthode ne fonctionne pas.
Merci de votre aide ...
Partager