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 :

Création de curseur dynamique [11g]


Sujet :

PL/SQL Oracle

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Altran
    Inscrit en
    Juillet 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Altran
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3
    Points : 5
    Points
    5
    Par défaut Création de curseur dynamique
    Je voudrais savoir s’il est possible de créer un curseur dynamique
    J’ai réussi à créer la requête dynamique, mais j’ai une erreur quand je tente d’appeler mon curseur,j’ai diffèrent message d’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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    DECLARE
    ---  
      l_code_pays    VARCHAR2(30);    
      l_type_pers    VARCHAR2(30); 
      l_nif          VARCHAR2(30); 
     -- teste          REF CURSOR;
      var_cursor     VARCHAR2(4000);
     
      BEGIN
      --
      l_code_pays := 'FR';
      l_nif       := '447 737 503';
      l_type_pers := 'PMO';
      --
      var_cursor := 'SELECT format
                        FROM nif_validation nv, 
                             nif_format nf
                       WHERE nv.code_pays = '''||l_code_pays||'''
                         AND nv.code_pays = nf.code_pays';
      --
       IF l_type_pers IS NOT NULL THEN
       --
          var_cursor:= var_cursor ||' AND nv.type_pers = '''||l_type_pers||'''';        
       --
       END IF;
       --
       IF l_nif IS NOT NULL THEN
       --
          var_cursor:= var_cursor ||' AND REGEXP_LIKE ('''||l_nif||''', nf.reg_expres)';     
       --
       END IF;
       --
      -- DBMS_OUTPUT.put_line ('var_cursor '|| var_cursor); 
      -- EXECUTE IMMEDIATE var_cursor INTO teste; 
       --
       FOR I IN 1.. var_cursor LOOP
       --
          BMS_OUTPUT.put_line ('HELLO' ); 
       --
       END LOOP;
    -- 
     END;
    Pouvez-vous m’aider a résoudre ce problème?

    Merci

  2. #2
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Ne copiez pas les valeurs des variables dans le texte de la requête mais utilisez des variables des liaisons (bind variable binding). Regardez dans la doc d'oracle (PL/SQL User guide) des exemples de utilisation du SQL dynamique.

  3. #3
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Pour suivre les conseils de mnitu, regardez cet article :
    http://www.oracle.com/technetwork/is...om-090487.html

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

Discussions similaires

  1. [PowerBuilder] Création d'objets dynamiques
    Par Béné123456789 dans le forum Powerbuilder
    Réponses: 3
    Dernier message: 12/06/2006, 00h33
  2. Problème avec création de fenêtre dynamique
    Par FredericB dans le forum C++Builder
    Réponses: 3
    Dernier message: 29/09/2005, 17h21
  3. ODBC et curseurs dynamique!!!
    Par F@keur dans le forum MFC
    Réponses: 7
    Dernier message: 30/03/2005, 20h05
  4. [FLASH MX2004] Création d'objet dynamiquement
    Par noarno dans le forum Flash
    Réponses: 3
    Dernier message: 15/12/2004, 11h00
  5. Enregistrement issu d'un curseur dynamique
    Par vanessaf22 dans le forum SQL
    Réponses: 26
    Dernier message: 15/04/2004, 13h26

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