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 :

pb d'intersection


Sujet :

Oracle

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 34
    Points
    34
    Par défaut pb d'intersection
    Bonjour,
    J'aurais voulu savoir si il était possible de faire l'intersection de deux curseurs ou bien par quelle méthode je pourais resortir les lignes identiques aux deux curseurs?

    Emilie

  2. #2
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 126
    Points : 108
    Points
    108
    Par défaut
    Qu'est-ce qu'un curseur?

    Il serait important que tu donne un exemple de Sql


  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 34
    Points
    34
    Par défaut curseur
    un curseur est une zone de travail pour exécuter les ordres SQL, stocker leurs résultats et les utiliser. Il permet de traiter le résultat de requetes retournant plus d'un tuple.

    voici mon code:
    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
     
    create or replace package body bdtheque as
     
    procedure recherche_multi_critere3 
    (le_titrealbum in varchar2, la_couleur in varchar2, la_dateparution in date, le_numalbum in number, l_appreciation in number, le_nomauteur in varchar2, le_prenomauteur in varchar2, le_nomdessin in varchar2, le_prenomdessin in varchar2, le_nomgenre in varchar2, le_nomtype in varchar2, le_titreserie in varchar2, le_nomcollect in varchar2, le_nomediteur in varchar2,liste_album_titre out cur_album, liste_album_couleur out cur_album, liste_album out cur_album) is
     
    begin
    set transaction read only;
    if (le_titrealbum is null) then
    open liste_album_titre for select * from album;
    else open liste_album_titre for select * from album where titrealbum = le_titrealbum;
    end if;
    if (la_couleur is null) then
    open liste_album_couleur for select * from album;
    else open liste_album_couleur for select * from album where couleur = la_couleur;
    end if;
     
    commit;
    exception
    when others then
    		rollback;
    		raise_application_error(-20999,'inatendue'||'sqlcode :'||sqlcode||'message : '||substr(SQLERRM,1,100));
    end;
    end;
    /
    et dans mon package de spec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    create or replace package bdtheque as
     
    type cur_album is ref cursor;
     
    procedure recherche_multi_critere3(le_titrealbum in varchar2, la_couleur in varchar2, la_dateparution in date, le_numalbum in number, l_appreciation in number, le_nomauteur in varchar2, le_prenomauteur in varchar2, le_nomdessin in varchar2, le_prenomdessin in varchar2, le_nomgenre in varchar2, le_nomtype in varchar2, le_titreserie in varchar2, le_nomcollect in varchar2, le_nomediteur in varchar2,liste_album_titre out cur_album, liste_album_couleur out cur_album, liste_album out cur_album);
     
    end;
    /
    après avoir rempli les deux curseur j'aurais aimé pouvoir en sortir les lignes identiques.

    émilie

  4. #4
    Membre éclairé Avatar de plabrevo
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 547
    Points : 670
    Points
    670
    Par défaut
    Sauf a vouloir ecrire la requete la moins performante possible, il faut mieux n'ouvrir qu'un seul curseur, retournant l'intersection entre deux ensembles de donnees, concretement: SELECT FROM A INTERSECT SELECT FROM B.

Discussions similaires

  1. Réponses: 7
    Dernier message: 26/10/2004, 11h02
  2. Intersection entre 2 triangles?? (3D)
    Par supergrey dans le forum DirectX
    Réponses: 1
    Dernier message: 25/08/2004, 09h22
  3. EXCEPT et INTERSECT sous MS SQLServer ?
    Par christie dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/05/2004, 16h47
  4. [prg jeux ]Définir l'intersection de deux rectangles
    Par mat.M dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 30/07/2003, 18h11
  5. XPath: intersection de chemins
    Par aldo047 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 13/03/2003, 10h30

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