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

PL/SQL Oracle Discussion :

Select sur deux tables, résultat formaté


Sujet :

PL/SQL Oracle

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2008
    Messages : 34
    Points : 39
    Points
    39
    Par défaut Select sur deux tables, résultat formaté
    Bonjour,
    je suis relativement nouveau dans le monde des SGBDs et le monde SQL PL/SQL. J'ai un requête à vous soumettre, j'ai beaucoup cherché mais je n'arrive jamais au résultat voulu. Alors, voici ce que j'aimerais accomplir et sous quel format. Je crois que je dois utiliser la fonction "UNION" mais je suis pas certain que ce soit le bon choix d'où le résultat qui ne me convient pas m'enfin....

    Pour chaque "GRANTEE" de la table dba_role_privs dont le "GRANTED_ROLE" est équivalenet à 'CONNECT' soit (select grantee from dba_role_privs where granted_role = 'CONNECT') j'aimerais obtenir tout les privileges system (PRIVILEGE) de la table dba_sys_privs.

    Formaté de la façon suivante :
    (bon, visiblement je peux difficilement vous donner un exemple puisque le formatage du forum me le permet pas mais visualisez svp:

    Sur la colone un, le nom du GRANTEE avec sur la colone deux la liste des privileges system qui lui sont attribué. On saute de nouveau à la colone un, nouveau GRANTEE avec en colone deux, la liste de privileges.

    J'espère avoir été clair et vous remercie à l'avance de votre coup de main.

    William

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 136
    Points : 112
    Points
    112
    Par défaut
    En gros si je me trompe pas, la requête que tu veux exécuter est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select t1.GRANTEE, t1.PRIVILEGE from dba_sys_privs t1, dba_role_privs t2 where t1.grantee = t2.grantee and t2.granted_role = 'CONNECT'
    Pour ce qui est de l'aspect final, ça dépend dans quoi tu veux l'afficher....
    Quand tu auras le résultat de ta requête, il faudra faire un traitement du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    loop
      liresuivant
      ecrire requete.grantee dans la colonne1
      tantque grantee est le même loop
        ecrire privilege dans colonne2
        liresuivant
      fin loop
    fin loop
    mais la syntaxe exacte dépend d'où tu appelles le programme et où tu veux afficher ton résultat... Le pl/sql pourra simplement écrire dans une console de TOAD ou de SQL DEVELOPPER, mais ce n'est surement pas ce que tu veux.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2008
    Messages : 34
    Points : 39
    Points
    39
    Par défaut
    Mais en fait c'est exactement ce que je veux. Pour les besoins de la cause que ce soit afficher directement dans ma console PL/SQL me conviendrait parfaitement. Je n'arrive juste pas à le faire correctement et conformément à ce que je veux. Je vais travailler avec votre suggestion et on verra bien.

    Merci de votre temps.

    EDITÉ

    J'aurais du exécuter votre commande avant d'écrire ce que j'ai écri plus haut. Cela fait très EXACTEMENT ce que je voulais que ça fasse comme quoi rien ne sert de se casser la tête. Si on ajoute "break on grantee skip 1" j'ai le formatage exact de ce que je voulais.

    Encore une fois mille merci.

    William

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

Discussions similaires

  1. Requête Select sur deux tables. need help
    Par Ma2x. dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/12/2009, 15h10
  2. Requête "select" sur deux tables dont une vide
    Par Torgar dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/10/2009, 09h27
  3. Requete mysql : select sur deux tables
    Par IP-Fix dans le forum Requêtes
    Réponses: 9
    Dernier message: 12/11/2008, 16h03
  4. SELECT sur deux tables
    Par Gaetch dans le forum Langage SQL
    Réponses: 1
    Dernier message: 13/07/2007, 15h40
  5. Select sur deux tables
    Par DJuL- dans le forum Requêtes
    Réponses: 2
    Dernier message: 01/03/2007, 14h40

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