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 :

[pl/sql] valeur d'une variable


Sujet :

Oracle

  1. #1
    Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2003
    Messages : 44
    Points : 44
    Points
    44
    Par défaut [pl/sql] valeur d'une variable
    Bonjour,

    Base Oracle 9i sur serveur Unix Solaris 8

    Lors de l'execution de ce morceau de code en pl/sql,
    je n'arrive pas a recuperer la valeur de V_ROWID au moment du delete.
    Comment faire pour utiliser la valeur de la variable V_ROWID.

    Je n'ai aucun message d'erreur:
    PL:SQL PROCEDURE SUCCESSFULLY COMPLETED
    Mais la ligne dans la table n'est pas supprimée.
    Je pense que la procedure s'execute bien, mais la valeur recuperée de la variable, lors du delete n'est pas bon.

    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
    set serveroutput on size 1000000;
    DECLARE
    v_rowid         	VARCHAR2(150);
    v_fic                   UTL_FILE.FILE_TYPE;
    BEGIN
    	v_fic := UTL_FILE.FOPEN('UTL_FILE_TMP','del_rowid','R');
    	LOOP
    	BEGIN
    	      UTL_FILE.get_line(v_fic,v_rowid)
    	      dbms.output.put_line(v_rowid);
    	      delete from pdmdm.dm_file_backup where rowid = v_rowid;
    	      commit;
    	      EXCEPTION
                       WHEN NO_DATA_FOUND THEN
                       utl_file.fclose(v_fic);
                       EXIT;
    	END; 
    	END LOOP;
    		
    END;
    Merci

    Balises ajoutées par Magnus, merci d'y penser à l'avenir

  2. #2
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    delete from pdmdm.dm_file_backup where rowid = chartorowid(v_rowid);
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  3. #3
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    De plus, je me demande comment vous arriver a exécuter votre code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dbms.output.put_line(v_rowid);
    ne compilera jamais !
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  4. #4
    Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2003
    Messages : 44
    Points : 44
    Points
    44
    Par défaut
    La modification est sans effets, la table n'est pas mise a jour.

    Cordialement.

  5. #5
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Vous pouvez connaitre le nombre de lignes impactées par le dernier ordre SQL en interrogeant la variable SQL%ROWCOUNT
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  6. #6
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Et si tu exécutes ta requête en dur sous SQL*Plus, y-a-t-il des lignes supprimées ?
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  7. #7
    Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2003
    Messages : 44
    Points : 44
    Points
    44
    Par défaut
    chartorowid(v_rowid) fonctionne, il s'agissait d'une erreur de frappe de ma part.

    Donc ma procedure fonctionne.

    Merci a tous.

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 06/06/2011, 13h39
  2. comment inserer la valeur d'une variable dans une table sql
    Par casaoui dans le forum Langage SQL
    Réponses: 7
    Dernier message: 25/01/2008, 15h06
  3. [SQL] Détection du changement de valeur d'une variable
    Par micatmidog dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 10/06/2007, 20h22
  4. [SQL] La valeur d'une variable ne semble pas être prise en compte
    Par oroumgolok dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 03/09/2006, 23h31
  5. Réponses: 5
    Dernier message: 16/05/2006, 09h23

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