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 :

Comparaison ligne + UPDATE


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 1
    Par défaut Comparaison ligne + UPDATE
    Bonjour à tous,

    Après avoir recherché sur le net je n'ai pas trouvé ce que je voulais, c'est pour cela que je post ici mon pb...

    Je travaille sur Oracle et j'aurais besoin de créer un mini-procédure qui compare les lignes d'une table entre elles et les update...

    Ex: Ma Table (sans clé primaire c'est pas ma faute c'est comme ça dans la base...)

    Num_Client Num_Produit Pays
    5 14 FRANCE
    5 14 FRANCE
    5 14 ARGENTINE
    5 14 MAROC
    5 14 MAROC
    5 14 PAYS_BAS
    5 14 PAYS_BAS
    5 14 SUISSE
    5 14 SUISSE
    6 14 TURQUIE
    6 15 FRANCE
    6 15 FRANCE

    J'ai besoin donc de créer une procédure qui puisse trier la table ORDER BY NUM_CLIENT,NUM_PRODUIT,PAYS puis qui compare la ligne 1 avec la ligne 2 et si ces 2 lignes sont identiques updater un champs LOGICAL_DELETE = 'Y' a la place de 'N', puis passer a la comparaison de la ligne 2 à 3 et ainsi de suite...J'y arrive tres bien dans d'autre langages mais là j'avoue qu'en PL/SQL je bloque...

    Mon problème se situe surtout au nivea de la comparaison en PL, comment dire (en sachant que la table réel fait plus de 25000 lignes...)

    IF MATABLE.Row1(Num_client,Num_produit,Pays) = MATABLE.Row2(Num_client,Num_produit,Pays)
    UPDATE MATABLE
    SET Row2.MONCHAMPS = 'Y'...

    Cela doit donner a la fin une table du genre :
    Num_Client Num_Produit Pays
    5 14 FRANCE
    5 14 ARGENTINE
    5 14 MAROC
    5 14 PAYS_BAS
    5 14 SUISSE
    6 14 TURQUIE
    6 15 FRANCE

    Avez vous une idée ?

    Merci d'avance

    Monsterfab

  2. #2
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    C'est juste de la suppression de doublon.

    http://oracle.developpez.com/faq/?page=3-1#doublons

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

Discussions similaires

  1. [Bash] Comparaison ligne regexp
    Par Babybel54 dans le forum Linux
    Réponses: 8
    Dernier message: 19/08/2008, 14h50
  2. Réponses: 3
    Dernier message: 24/04/2008, 21h56
  3. [Access 2000] Comparaison lignes successives d'une meme table
    Par yepAccess dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 09/08/2007, 21h43
  4. Réponses: 2
    Dernier message: 03/07/2007, 23h37
  5. Réponses: 4
    Dernier message: 25/01/2006, 15h42

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