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 :

Script PL/SQL avec curseur


Sujet :

PL/SQL Oracle

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2014
    Messages : 96
    Points : 51
    Points
    51
    Par défaut Script PL/SQL avec curseur
    Bonjour tout le monde,

    Je suis débutant en PL/SQL, je m'entraine sur des exos mais je bloque sur un:

    J'ai une table EMP(COMM...) et je dois écrire un script PL/SQL avec un curseur pour augmenter de 10% toutes les commissions de EMP et qui affiche la somme et la moyenne de ces augmentations.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    DECLARE
    **CURSOR cModif IS
    ***SELECT * FROM EMP;
    ***somme INTEGER := 0;
    ***moy INTEGER := 0;
    ***FOR UPDATE;
    BEGIN
    **FOR commEMP IN cModif LOOP
    ****UPDATE EMP SET COMM= commEMP.COMM*0.1
    ****WHERE CURRENT OF cModif;
    **END LOOP;
    END;
    Je ne vois pas comment faire la somme et la moyenne.

    Merci à vous.

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

    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
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    La base de la programmation : Les variables

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    DECLARE
     i NUMBER := 0;
    BEGIN
     LOOP
      i := i + 1;
      DBMS_OUTPUT.PUT_LINE(i);
      EXIT WHEN i > 5;
    END LOOP;
     DBMS_OUTPUT.PUT_LINE('Max :'|| i);
    END;
    Affichage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    1
    2
    3
    4
    5
    6
    Max :6
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2014
    Messages : 96
    Points : 51
    Points
    51
    Par défaut
    Je ne vois pas le rapport avec mon exo

  4. #4
    McM
    McM est déconnecté
    Expert éminent

    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
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Avec ce DBMS, tu vois mieux comment tu peux faire ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    DECLARE
    CURSOR cModif IS 
     SELECT * FROM EMP FOR UPDATE;
     somme INTEGER := 0;
     moy INTEGER := 0;
    BEGIN
     FOR commEMP IN cModif
     LOOP
       DBMS_OUTPUT.put_line ('Avant:'|| commEMP.COMM ||' Après :'|| (commEMP.COMM*0.1));
       UPDATE EMP SET COMM= commEMP.COMM*0.1 WHERE CURRENT OF cModif;
     END LOOP;
    END;
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2014
    Messages : 96
    Points : 51
    Points
    51
    Par défaut
    Non, je ne vois toujours pas comme faire la somme et la moyenne

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2014
    Messages : 96
    Points : 51
    Points
    51
    Par défaut
    Je suis vraiment débutant, je découvre et je ne vois pas comment faire plusieurs actions.

  7. #7
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    c'est une augmentation 10% ou diminution de 90%?

Discussions similaires

  1. comment lancer un script PL/SQL avec cx_Oracle
    Par awalter1 dans le forum Général Python
    Réponses: 0
    Dernier message: 28/07/2011, 16h43
  2. SQL Relay : Procédures stockées avec curseur en return
    Par Tchinkatchuk dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 19/10/2006, 18h21
  3. Interraction avec un script PL/SQL
    Par duelooser dans le forum PL/SQL
    Réponses: 9
    Dernier message: 27/10/2005, 17h07
  4. Script SQL avec des EXIT SQL.SQLCODE
    Par fidififouille dans le forum Oracle
    Réponses: 14
    Dernier message: 23/04/2004, 17h45
  5. Génération de script SQL avec les données
    Par borgfabr dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 05/03/2004, 14h57

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