IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

Insertion table + table erreur


Sujet :

Oracle

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 11
    Points : 9
    Points
    9
    Par défaut Insertion table + table erreur
    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

  2. #2
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    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

  3. #3
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Et en PL/SQL également. Il y a quelques différences entre les deux méthodes.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par Pomalaix Voir le message
    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.
    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).

    Citation Envoyé par mnitu Voir le message
    Et en PL/SQL également
    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).

  5. #5
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Citation Envoyé par mlaunay Voir le message
    ...j'ai bien réussi à récupérer l'erreur mais pas les données inséré (Je voudrais avoir un champs par colonne).
    Alors il faudrait fournir vos commandes ainsi que le résultat montrant ce qui ne convient pas...
    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

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    C'est bon j'ai réussi, il fallait juste rajouter des champs dans ma table cible et le tour est joué.

    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Erreur insertion dans table
    Par aminnio dans le forum VBA Access
    Réponses: 1
    Dernier message: 04/06/2013, 10h40
  2. [AC-2003] Erreur Insertion sur table liée via ODBC
    Par Stephane84 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 17/01/2012, 18h29
  3. [AC-2007] requete d'insertion de table à table
    Par jeff54 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 02/02/2011, 22h55
  4. [AC-2003] Importation d'une table - Table d'erreurs d'importation
    Par damsmut dans le forum VBA Access
    Réponses: 1
    Dernier message: 21/07/2009, 17h11
  5. Problème avec un chemin de type "tables\table\tables\table"
    Par bankiz dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 12/09/2008, 22h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo