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 :

Affichage dans PL/SQL


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations forums :
    Inscription : Novembre 2013
    Messages : 71
    Par défaut Affichage dans PL/SQL
    oui je vois très bien ce que vous voulez dire et je l'ai déjà fais, j'ai testé tout les cas avec la requête et ça marche , maintenant j'aimerai créer une procédure qui permet d'afficher tous ces professeur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    create or replace procedure affichage is
    cursor crs is select dm.id_prof,dtm.id_lycee,r.nom_region from demande dm join detaille_demande dtm on dm.id_demande = dtm.id_demande join lycee l on l.id_lycee=dtm.id_lycee join academie ac on ac.id_academie=l.id_academie join region r on r.id_region = ac.id_region where dm.id_prof not in (select p.id_prof from region r2 join academie ac on r2.id_region = ac.id_region join lycee l on l.id_academie=ac.id_academie join professeur p on p.id_lycee=l.id_lycee where r.id_region = r2.id_region);
    begin
    for i in crs loop
    dbms_output.put_line(i.id_prof);
    end loop;
    end;
    1 * est ce que dans DBMS je dois ecrire i.dm.id_prof ou bien i.id_prof
    2 * même si je fais set Serveroutput on , lorsque j'appelle la procédure dans un code plSQL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    set serveroutput on;
    declare
    begin
    affichage;
    end;
    resultat : bloc anonyme terminé.

  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
    1/ un accès à une colonne de curseur se fait par Nom_du_curseur.nom_de_colonne_du_curseur
    C'est pour cela qu'il faut parfois aliaser ses colonnes si 2 colonnes de même nom sont utilisées dans le select.


    2/ pour voir d'où vient le problème, il suffit de mettre un DBMS hors curseur.

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations forums :
    Inscription : Novembre 2013
    Messages : 71
    Par défaut
    Comment aliaser ? pouvez vous m'expliquer

  4. #4
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Derrière la boucle for le compilateur PL/SQL vous épargne pas mal de boulot que lui il fait à votre place:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    cursor crs is select dm.id_prof...
    Begin
    for i in crs loop
    ...
    deviens en réalité:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    declare
      cursor crs is select dm.id_prof...
      rec crs%RowType;
    Begin
      Open crs;
      Loop
         Fetch crs into rec;
         Exit when crs%NOTFOUND;
         ...
      End Loop;
      Close crs;

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

Discussions similaires

  1. [MySQL] Affichage résultat requête SQL dans page HTML comme un tableau
    Par joxbl dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 14/03/2011, 14h26
  2. [MySQL] Affichage de résultats SQL dans un tableau
    Par illight dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 14/02/2007, 09h24
  3. [SQL] Affichage dans le désordre
    Par NILUjE dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/08/2006, 16h28
  4. Réponses: 5
    Dernier message: 04/05/2006, 15h38
  5. [wxPython]Affichage de données SQL dans un controle
    Par fabrice_leon dans le forum wxPython
    Réponses: 1
    Dernier message: 31/03/2006, 09h27

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