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

SQL Oracle Discussion :

Erreur sur un MERGE [11gR2]


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut Erreur sur un MERGE
    Bonjour,

    Voilà mon MERGE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    MERGE INTO GRHUM.TYPE_POPULATION act
    USING 
    (
      SELECT C_TYPE_POPULATION, LC_TYPE_POPULATION, LL_TYPE_POPULATION, REF_REGLEMENTAIRE, TEM_FONCTIONNAIRE, TEM_ATOS, TEM_ITARF, TEM_ENS_SUP, TEM_ENSEIGNANT, TEM_2DEGRE, TEM_HOSPITALIER, 
        TEM_BIBLIO, TEM_CARRIERE, D_CREATION, D_MODIFICATION, TEM_1DEGRE, TEM_VISIBLE, D_OUVERTURE, D_FERMETURE
      FROM PLEMENAGER.TYPE_POPULATION
    ) rf
    ON (act.C_TYPE_POPULATION = rf.C_TYPE_POPULATION)
    WHEN MATCHED THEN
      UPDATE
      SET act.LC_TYPE_POPULATION = rf.LC_TYPE_POPULATION,
        act.LL_TYPE_POPULATION = rf.LL_TYPE_POPULATION,
        act.REF_REGLEMENTAIRE = rf.REF_REGLEMENTAIRE,
        act.TEM_FONCTIONNAIRE = rf.TEM_FONCTIONNAIRE,
        act.TEM_ATOS = rf.TEM_ATOS,
        act.TEM_ITARF = rf.TEM_ITARF,
        act.TEM_ENS_SUP = rf.TEM_ENS_SUP,
        act.TEM_ENSEIGNANT = rf.TEM_ENSEIGNANT,
        act.TEM_2DEGRE = rf.TEM_2DEGRE,
        act.TEM_HOSPITALIER = rf.TEM_HOSPITALIER,
        act.TEM_BIBLIO = rf.TEM_BIBLIO,
        act.TEM_CARRIERE = rf.TEM_CARRIERE,
        act.D_CREATION = rf.D_CREATION,
        act.D_MODIFICATION = rf.D_MODIFICATION,
        act.TEM_1DEGRE = rf.TEM_1DEGRE,
        act.TEM_VISIBLE = rf.TEM_VISIBLE,
        act.D_OUVERTURE = rf.D_OUVERTURE,
        act.D_FERMETURE = rf.D_FERMETURE
    WHEN NOT MATCHED THEN
      INSERT (C_TYPE_POPULATION, LC_TYPE_POPULATION, LL_TYPE_POPULATION, REF_REGLEMENTAIRE, TEM_FONCTIONNAIRE, TEM_ATOS, TEM_ITARF, TEM_ENS_SUP, TEM_ENSEIGNANT, TEM_2DEGRE, TEM_HOSPITALIER, 
        TEM_BIBLIO, TEM_CARRIERE, D_CREATION, D_MODIFICATION, TEM_1DEGRE, TEM_VISIBLE, D_OUVERTURE, D_FERMETURE)
      VALUES (rf.C_TYPE_POPULATION, rf.LC_TYPE_POPULATION, rf.LL_TYPE_POPULATION, rf.REF_REGLEMENTAIRE, rf.TEM_FONCTIONNAIRE, rf.TEM_ATOS, rf.TEM_ITARF, rf.TEM_ENS_SUP, rf.TEM_ENSEIGNANT, rf.TEM_2DEGRE, rf.TEM_HOSPITALIER, 
        rf.TEM_BIBLIO, rf.TEM_CARRIERE, rf.D_CREATION, rf.D_MODIFICATION, rf.TEM_1DEGRE, rf.TEM_VISIBLE, rf.D_OUVERTURE, rf.D_FERMETURE);
    SQL Developer m'affiche, à chaque fois, quelques secondes après avoir lancé la requête, une boîte d'erreur titrée "Reconnexion" :
    La base de données a été réinitialisée. L'ensemble des états de session ou transactions en attente est perdu.
    La sortie de script me dit ceci :
    Erreur à la ligne de commande: 1 Colonne: 1
    Rapport d'erreur -
    Erreur SQL : ORA-00600: code d'erreur interne, arguments : [13013], [5001], [55222], [25173079], [59], [25173079], [17], [], [], [], [], []
    00600. 00000 - "internal error code, arguments: [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s]"
    *Cause: This is the generic internal error number for Oracle program
    exceptions. It indicates that a process has encountered a low-level,
    unexpected condition. The first argument is the internal message
    number. This argument and the database version number are critical in
    identifying the root cause and the potential impact to your system.
    Qu'est-ce qui se passe ?

    Je précise que les deux tables font seulement 31 lignes. En principe, un UPDATE suffirait mais je fais ça aussi à titre d'exercice et j'aurai ensuite des tables plus complexes à fusionner.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  2. #2
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    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 461
    Par défaut
    Sur Metalink, diverses bogues sont référencées avec ces codes d'erreur, et impliquant un MERGE.
    Vous pourrez les trouver à partir de l'assistant de recherche ORA-600 figurant dans la note 153788.1.

  3. #3
    Expert confirmé 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
    Par défaut
    Bonjour,

    Juste pour ma curiosité: les entités source et destination du Merge sont bien des tables ou des vues ? Avec des policies ou rien de spécial. La colonne de jointure est-elle bien du même dans les mêmes entités ? Y-a-t-il des triggers positionnés sur la table/vue destination ou des vues matérialisées sont ils impliquées ?

    Merci pour vos précision.

  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Comme j'avais eu aussi une boîte d'erreur similaire sur autre chose plus simple ce matin, j'ai relancé SQL Developer et je viens d'essayer mon MERGE de nouveau... avec le même résultat, hélas !

    Citation Envoyé par mnitu
    les entités source et destination du Merge sont bien des tables ou des vues ?
    Ce sont deux tables identiques. L'idée est de mettre à jour la table du schéma GRHUM avec la table de référence que j'ai mise dans mon schéma PLEMENAGER. Dans ce cas précis, je pourrais simplement remplacer la table par sa référence mais je préfèrerais utiliser le MERGE à titre formateur pour moi et en vue d'opérations plus délicates sur d'autres tables où le remplacement ne sera pas une solution envisageable.

    Citation Envoyé par mnitu
    Avec des policies ou rien de spécial.
    Des "policies" ?
    Kesako ?
    A priori, rien de spécial.

    Citation Envoyé par mnitu
    La colonne de jointure est-elle bien du même dans les mêmes entités ?
    Oui, puisque ce sont les mêmes tables à la base.

    Y-a-t-il des triggers positionnés sur la table/vue destination ou des vues matérialisées sont ils impliquées ?
    Je ne pense pas. Comment le savoir ?

    Citation Envoyé par Pomaleix
    Sur Metalink, diverses bogues sont référencées avec ces codes d'erreur, et impliquant un MERGE.
    Vous pourrez les trouver à partir de l'assistant de recherche ORA-600 figurant dans la note 153788.1.
    Il faut un abonnement spécial pour y accéder ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    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 461
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    Il faut un abonnement spécial pour y accéder ?
    Oui, il faut avoir un contrat de support en cours de validité.

  6. #6
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par Pomalaix Voir le message
    Oui, il faut avoir un contrat de support en cours de validité.
    Donc pas d'accès pour moi a priori.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

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

Discussions similaires

  1. [11gR2] Comment savoir quelle ligne provoque une erreur sur un merge oracle
    Par Holly Smoke dans le forum Oracle
    Réponses: 3
    Dernier message: 26/08/2015, 18h09
  2. Erreur sur MERGE INTO
    Par FirePrawn dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 13/09/2012, 14h58
  3. [VBS] Erreur sur "AddWindowsPrinterConnection"
    Par Admin dans le forum VBScript
    Réponses: 5
    Dernier message: 27/03/2004, 16h15
  4. []Erreur sur second emploi collection binding
    Par jacma dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 08/03/2004, 18h02
  5. Erreur sur le TNSListener après installation de 9iAS
    Par Patmane dans le forum Installation
    Réponses: 4
    Dernier message: 04/02/2004, 11h16

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