Bonjour,
Est-il possible d'insérer des données présentes dans une table vers une autre table, et si Oracle détecte une erreur, que ces données soit insérées dans une autre table (table erreur)?
En PL/SQL ou simple SQL.
Merci
Bonjour,
Est-il possible d'insérer des données présentes dans une table vers une autre table, et si Oracle détecte une erreur, que ces données soit insérées dans une autre table (table erreur)?
En PL/SQL ou simple SQL.
Merci
Oui, ça peut se faire, vous trouverez ici (en anglais) ce qu'il faut savoir sur le sujet :
http://oracle-base.com/articles/10g/...ging-10gr2.php
Il est important de préciser la clause REJECT LIMIT UNLIMITED, sans quoi votre insertion multiligne s'arrêtera dès la première erreur, sans rien enregistrer dans la table de trace.
Consultant / formateur Oracle indépendant
Certifié OCP 12c, 11g, 10g ; sécurité 11g
Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration
Et en PL/SQL également. Il y a quelques différences entre les deux méthodes.
J'avais bien vu ce lien, même si mes compétences en Anglais sont insuffisantes
Mais sur ce site, j'ai bien réussi à récupérer l'erreur mais pas les données inséré (Je voudrais avoir un champs par colonne).
Comment procéder sans faire l'insertion ligne par ligne (car j'ai ensuite un trigger qui est appelé et qui doit se lancer 1 seul fois, lorsque toutes les lignes sont insérées).
Consultant / formateur Oracle indépendant
Certifié OCP 12c, 11g, 10g ; sécurité 11g
Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration
C'est bon j'ai réussi, il fallait juste rajouter des champs dans ma table cible et le tour est joué.
Merci.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager