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 :

test sur requete


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 42
    Par défaut test sur requete
    Bonjour a tous

    VOila j ai un leger probleme que j arrive pas resoudre
    Je fais une requete à l interieur d une double boucle FOR, une parcours des articles et l autre des acheteurs...

    Il arrive qu un article ne correponde pas a una cheteur donc la requete ne ramene rien et il se plante...

    Je voudrai juste faire un test savoir si une ligne existe dans ma table pour cet article et cet acheteur et si oui ramener la reponse, sinon lui donner une valeur..

    Un peu de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT sum(qte),id_acheteur,id_article    
        into w_qte_achete,w_temp_acheteur,w_temp_article
    FROM ACHATS
    WHERE  id_acheteur= t_acheteur(j)  --parcours acheteurs
    AND id_article= t_article(i)     --parcours article
    GROUP BY id_acheteur, id_article    ;
    En fait je veux faire la somme de la qutite d article achete pour chaque acheteur... MAIS je ne peux pas inverser l ordre des boucles ni faire un curseur...

    J ai teste differents trucs dont
    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
    IF EXISTS (SELECT sum(qte),id_acheteur,id_article    
       FROM ACHATS
    WHERE  id_acheteur= t_acheteur(j)  --parcours acheteurs
    AND id_article= t_article(i)     --parcours article) THEN
     
                                         SELECT sum(qte),id_acheteur,id_article    
                                        into            w_qte_achete,w_temp_acheteur,w_temp_article
     FROM ACHATS
    WHERE  id_acheteur= t_acheteur(j)  --parcours acheteurs
    AND id_article= t_article(i)     --parcours article
    GROUP BY id_acheteur, id_article    ;
     
    ELSE
          ---autre truc
    END IF;
    Mais bien entendu ca ne marche pas mais je voudrais un truc de ce genre

    J ai ORACLE 10

    Merci

  2. #2
    Membre émérite Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Par défaut
    encapsule ton test dans un bloc Begin / End et gère l'exception no_data_found...

    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
    Begin
        SELECT sum(qte),id_acheteur,id_article    
            into w_qte_achete,w_temp_acheteur,w_temp_article 
        FROM ACHATS 
        WHERE  id_acheteur= t_acheteur(j)  --parcours acheteurs 
        AND id_article= t_article(i)     --parcours article 
        GROUP BY id_acheteur, id_article    ;
     
        Exception
        When no_data_found
        Then
            w_qte_achete := ce que tu veux ;
            w_temp_acheteur := ce que tu veux ;
            w_temp_article := ce que tu veux ;
    End ;

  3. #3
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 42
    Par défaut
    Merci beaucoup
    Ca marche nickel et c est clair que je me suis pris la tete alors que c etait plutot evident...

    Merci encore, je le saurai pour la prochaine fois

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

Discussions similaires

  1. Test sur un champ dans une requete
    Par zico_pro dans le forum SQL
    Réponses: 7
    Dernier message: 18/06/2008, 14h18
  2. tests sur requetes dans une procedure stockée
    Par morback dans le forum SQL
    Réponses: 18
    Dernier message: 30/08/2007, 16h36
  3. idees sur requete a simplifier ???
    Par DaxTaz dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 05/07/2004, 09h42
  4. test sur fichiers[forms9i]
    Par Challenger dans le forum Forms
    Réponses: 6
    Dernier message: 14/06/2004, 17h25
  5. Test sur un champs vide
    Par PrinceMaster77 dans le forum ASP
    Réponses: 2
    Dernier message: 27/04/2004, 12h54

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