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 :

Problème avec un curseur : ORA-00942


Sujet :

PL/SQL Oracle

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    461
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 461
    Points : 283
    Points
    283
    Par défaut Problème avec un curseur : ORA-00942
    Bonsoir,
    Je débute en PL/SQL et souhaite l'utiliser dans l'administration. Le code ci-dessous me renvoie une erreur :
    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
    DECLARE
    	V_OWNER all_objects.owner%TYPE := 'SCOTT' ;
    	V_NAME_TABLE all_objects.object_name%TYPE ;
    	V_COUNTER number(1) ;
    	CURSOR CUR_NAME_TABLE IS
    		SELECT object_name
    	  	FROM all_objects
    	 	 WHERE owner = V_OWNER
    			 AND object_type = 'TABLE' ;
    BEGIN
    	OPEN CUR_NAME_TABLE ;
    	LOOP
    		FETCH CUR_NAME_TABLE INTO V_NAME_TABLE ;
    /*		Ligne concernée par l'erreur		*/
    		SELECT count(*) INTO V_COUNTER 
    		  FROM SCOTT.V_NAME_TABLE ;
    		dbms_output.put_line(V_NAME_TABLE) ;
    		EXIT when CUR_NAME_TABLE%NOTFOUND ;
    	END LOOP ;
    	CLOSE CUR_NAME_TABLE ;
    END ;
    /
    Voici l'erreur :
    FROM V_NAME_TABLE ;
    *
    ERROR at line 7:
    ORA-06550: line 7, column 10:
    PL/SQL: ORA-00942: table or view does not exist
    ORA-06550: line 5, column 3:
    PL/SQL: SQL Statement ignored
    Il semblerait que l'utilisation d'une variable comme nom de table ne soit pas autorisée.
    Merci pour votre aide par avance.

  2. #2
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Points : 5 306
    Points
    5 306
    Par défaut
    effectivement, tu ne peux pas.

    Il faut utiliser du sql dynamique (execute immediate)

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    461
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 461
    Points : 283
    Points
    283
    Par défaut
    Merci Vincenzo.

    J'ai suivi ton conseil + le tuto de SheikYerbouti. C'est nickel.

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

Discussions similaires

  1. probléme avec les curseurs
    Par riadhhwajdii dans le forum PL/SQL
    Réponses: 14
    Dernier message: 06/08/2010, 14h17
  2. [SQL Server] Problème avec un curseur ?
    Par evans dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 07/04/2006, 11h01
  3. Problème avec les curseurs SQL SERVER
    Par stefostillrise dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 11/11/2005, 13h09
  4. Problème avec un Curseur...
    Par notfoune dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 31/10/2005, 07h55
  5. [débutant] problème avec le curseur (sablier)
    Par bat dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 01/12/2004, 08h26

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