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 :

Boucle WHILE "not properly ended"


Sujet :

Oracle

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Boucle WHILE "not properly ended"
    Hello,

    J'essaie de faire une boucle WHILE sauf que j'ai le classique message d'erreur "not properly ended" et je ne trouve pas la solution. J'ai essayé tout ce qui me passait par la tête mais rien n'y fait. Le code est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT PRS_NOM, PRS_VILLE
    FROM T_PERSONNE_PRS
    BEGIN
       DECLARE i INTEGER;
       SET i = PRS_NOMBRE;
       WHILE i <> 1 DO
          INSERT INTO T_PERSONNE_PRS VALUES (PRS_NOM, PRS_VILLE, PRS_NOMBRE);
          SET i = i - 1;
       END WHILE
       RETURN i;
    END;
    En gros j'ai une colonne avec un INTEGER, par exemple 3. Je veux assigner i = 3, ajouter la ligne correspondante, puis assigner i = 2. Refaire la boucle jusqu'à ce que i = 1, ce qui revient à ajouter i-1 fois la ligne.

    Merci d'avance.

    PS : le RETURN fait partie d'un de mes essais mais je ne vois pas trop l'utilité ici.

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 814
    Points
    17 814
    Par défaut
    Ça ressemble beaucoup à une requête SQLPro.
    Si oui, c'est très certainement une syntaxe T-SQL (MS SQL-Server), pas PL/SQL (Oracle Database).

  3. #3
    Membre chevronné Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Points : 2 071
    Points
    2 071
    Par défaut
    Machage de travail
    Ens upposant que prs_nombre soit une variable :
    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
     
    DECLARE
    CURSOR cur_per is
    SELECT PRS_NOM, PRS_VILLE
    FROM T_PERSONNE_PRS;
    C2 cur_per%rowtype;
    i NUMBER;
    BEGIN
    OPEN cur_per;
    FETCH cur_per INTO C1;
    CLOSE cur_cper;
    i:=prs_nombre;
    WHILE i>1 LOOP
         INSERT INTO T_PERSONNE_PRS VALUES (C1.PRS_NOM, C1.PRS_VILLE, PRS_NOMBRE);
         i:=i-1;
    END LOOP;
    RETURN i;
    END;
    Et mieux en sql pur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    BEGIN 
    INSERT INTO T_PERSONNE_PRS
    SELECT PRS_NOM, PRS_VILLE,nb
    FROM T_PERSONNE_PRS,(select level nb from dual connect by level<prs_nombre) z;
    END;
    Garuda गरूड
    Brahmâ la Guerre et Vishnu la Paix

    Oracle 12C R2 - Forms11GR2 - Toad 12 - sharePoint 2010

Discussions similaires

  1. ORA-00933: SQL command not properly ended
    Par yupa dans le forum Oracle
    Réponses: 3
    Dernier message: 29/03/2022, 16h12
  2. [AC-2007] ORA-00933: SQL command not properly ended (#933)
    Par zoom61 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 14/12/2010, 10h38
  3. SQL command not properly ended / Execute immediate
    Par grenouille92 dans le forum SQL
    Réponses: 1
    Dernier message: 01/10/2009, 12h13
  4. Erreur anormale: command not properly ended
    Par randriano dans le forum SQL
    Réponses: 14
    Dernier message: 01/07/2009, 17h49
  5. Réponses: 1
    Dernier message: 08/02/2008, 18h32

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