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 :

ora-01002: extraction hors séquence


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 155
    Par défaut ora-01002: extraction hors séquence
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    PROCEDURE raz_pool_UOC IS
     
    CURSOR c_all_users is
    SELECT * FROM utilisateur_ora
    WHERE REGEXP_LIKE(UTO_USR_NAME, '^UOC[0-9]{3}$') 
    FOR UPDATE;
     
    TraceLog varchar2(150);
    newpasswd varchar2(30);
    Requete varchar2(150);
    sec_en_plus number:=0;
    v_user_name c_all_users%ROWTYPE;
     
    BEGIN
      OPEN c_all_users;
      LOOP
      FETCH c_all_users into v_user_name;
     
       TraceLog := 'v_user_name.UTO_USR_NAME=*'||v_user_name.UTO_USR_NAME||'*';
       PKG_COM.Ecrire_trace( PKG_COM.INF,
                                'Test raz_pool_UOC',
                                SUBSTR(TraceLog,1,300),
                                '',
                                'PKG_OTP.raz_pool_UOC');
        sec_en_plus:=sec_en_plus+1;
        newpasswd:=pkg_otp.CreateRandomPassword;
      -- raz de la table UTILISATEUR_ORA
        UPDATE utilisateur_ora 
        set UTO_PWD_GPL=newpasswd, UTO_JAN_SEQ=null, UTO_STA='LIBRE', 
        UTO_DATE_STATUT=sysdate+(sec_en_plus/86400), UTO_ID_ORA=null, UTO_ID_THREAD=null
        WHERE CURRENT OF c_all_users;
     
      -- raz pwd Oracle, unlock au cas ou 
        Requete:='ALTER USER '||v_user_name.UTO_USR_NAME||' ACCOUNT UNLOCK';
        Execute immediate Requete;
        Requete:='ALTER USER '||v_user_name.UTO_USR_NAME||' IDENTIFIED BY '||newpasswd;
        Execute immediate Requete;
      END LOOP;
      CLOSE c_all_users;
      COMMIT;
      EXCEPTION
      WHEN OTHERS THEN
         PKG_COM.Ecrire_trace( PKG_COM.ERR,
                               SUBSTR(SQLERRM,1,300),
                               SUBSTR(Requete,1,300),
                               'OTHERS - RAZ pool UOC',
                               'PKG_OTP.raz_pool_UOC');
    END raz_pool_UOC;
    D'ou provient cette erreur ? Lors de l'execution de la proc un seul tuple est bel et bien modifié.

    Merci pour votre aide

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 155
    Par défaut
    OK il manquait EXIT WHEN c_all_users%NOTFOUND... .

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

Discussions similaires

  1. Erreur ORA-01002 inexplicable ?
    Par Loyd1974 dans le forum SQL
    Réponses: 2
    Dernier message: 14/09/2007, 11h48
  2. erreur ORA-01002: fetch out of sequence
    Par lazzeroni dans le forum Oracle
    Réponses: 2
    Dernier message: 19/06/2006, 14h54
  3. [java.sql.SQLException: ORA-01002: fetch out of sequence]
    Par chouchou93 dans le forum Oracle
    Réponses: 9
    Dernier message: 30/05/2006, 13h05
  4. [8i]ORA-01002: fetch out of sequence
    Par patmaba dans le forum Oracle
    Réponses: 2
    Dernier message: 10/02/2006, 09h10
  5. [PL/SQL + VB] ORA-01002 fetch out of sequence
    Par superfly dans le forum Oracle
    Réponses: 10
    Dernier message: 03/01/2005, 20h33

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