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 :

Oracle 10.2 suppression de doublons


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2003
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 701
    Billets dans le blog
    1
    Par défaut Oracle 10.2 suppression de doublons
    Bonjour,

    je voufdrais supprimer des doublons dans une table Oracle .
    Le doublon porte sur un nom et lieu pour une activité précise .

    pour ce faire, je modifie un champs de la table d'abord pour ensuite
    supprimer les champs corresondants .

    modele de table :
    NL_IDINSLIEU NL_IDPERS NL_IDLIEU NL_IDACT
    ------------ ------------ ------------ ------------
    A10003664054 245044089001 A10001200915 A10001921033
    A10003935229 A10001730345 A10001614665 A10003013651
    A10003935254 A10001334783 A10001614665 A10003013651
    A10003664078 121578 A10001196500 A10001921029
    A10003935255 A10000763878 A10000946233 A10003759393
    A10003664109 A10002956383 A10000946233 A10003013651
    A10003663686 121895 A10001196500 A10001921033
    A10003663688 121895 A10001196500 A10001921033
    A10003935258 A10002021569 242761209000 A10003759320

    requête exécutée :

    UPDATE H_INSLIEU a SET NL_CODUTI='ASUPP'
    WHERE ROWID > (SELECT min (ROWID) FROM H_INSLIEU b where b.nl_idpers=a.nl_idpers and b.nl_idlieu=a.nl_idlieu and
    b.NL_IDACT='A10021643732' ) ;

    l'update ne tient jamais compte du champ NL_IDACT .

    j'y perds mon latin

    si pouviez me dire ce qui ne va pas , ou me donner une autre solution
    (il y a à peu pres 700 lignes à supprimer sur un total de 680000 )

    cordialement

  2. #2
    Membre chevronné Avatar de xdescamp
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 300
    Par défaut
    Bonjour,

    C'est normal que l'UPDATE ne tienne pas compte du champ NL_IDACT puisqu'il n'est pas dans la clause WHERE. Le seul filtre appliqué est sur le ROWID.
    Je pense que votre requête devrait plutôt ressembler à ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    UPDATE H_INSLIEU a
    SET NL_CODUTI='ASUPP'
    WHERE ROWID > (SELECT min (ROWID)
                   FROM H_INSLIEU b
                   where b.nl_idpers=a.nl_idpers
                   and b.nl_idlieu=a.nl_idlieu
                   and b.nl_idact = a.nl_idact)
    AND a.NL_IDACT='A10021643732' ;

  3. #3
    Membre éclairé

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2003
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 701
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    bien vu,

    cela fonctionne

    encore merci

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

Discussions similaires

  1. Requete Oracle suppression de doublons de jointures
    Par quake3 dans le forum Oracle
    Réponses: 3
    Dernier message: 12/04/2011, 13h39
  2. Réponses: 17
    Dernier message: 03/12/2004, 11h17
  3. [langage] Suppression de doublon dans tableau
    Par LFC dans le forum Langage
    Réponses: 5
    Dernier message: 15/04/2004, 14h08
  4. Requête de suppression de doublons : besoin d'aide
    Par biocorp dans le forum Langage SQL
    Réponses: 3
    Dernier message: 27/01/2004, 17h04
  5. [LG]Suppression de doublons
    Par moustique31 dans le forum Langage
    Réponses: 5
    Dernier message: 20/12/2003, 21h03

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