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

Langage SQL Discussion :

pb cursor sql dynamique


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 284
    Par défaut pb cursor sql dynamique
    Bonj,

    Je voudrai savoir si c'est possible de passer le nom de la table ne argument comme je fais ci-dessous.
    Je travaille avec oracle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     PROCEDURE test(nametable IN VARCHAR2)
       AS
     
     
    	  CURSOR c_cursor (an_date IN DATE)
          IS
             SELECT MAX (enddate) date_fin
               FROM nametable
              WHERE enddate <= an_date;
    enfaite j'ai un msg d'erreur en disant que le nom de la table n'est pas valide.

    Merci

  2. #2
    Membre chevronné Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Par défaut
    Citation Envoyé par ouinih Voir le message
    Bonj,

    Je voudrai savoir si c'est possible de passer le nom de la table ne argument comme je fais ci-dessous.
    Je travaille avec oracle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     PROCEDURE test(nametable IN VARCHAR2)
       AS
     
     
    	  CURSOR c_cursor (an_date IN DATE)
          IS
             SELECT MAX (enddate) date_fin
               FROM nametable
              WHERE enddate <= an_date;
    enfaite j'ai un msg d'erreur en disant que le nom de la table n'est pas valide.

    Merci
    Regarde du coté du SQL dynamique http://sheikyerbouti.developpez.com/execute_immediate/

    ( meme exemple et meme lien que la derniere fois que tu as posé la question)

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 284
    Par défaut
    MAis la reponse m a pas vraiment aidée

  4. #4
    Membre Expert Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Par défaut
    Dans votre cas, si vous etes sous MySQL, ce lien peut vous etre utile :

    http://dev.mysql.com/doc/refman/5.0/fr/sqlps.html

    Bon courage

  5. #5
    Membre extrêmement actif
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Billets dans le blog
    6
    Par défaut
    bonjour
    ça va vous aider et veulliez partager cet exemple avec les autres..

    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
    create or replace procedure test(table_name varchar2) is
     
    V_Requete varchar2(500);
    var1  varchar2(100);--par exemple
    var2  number; --par exemple
     
     
    TYPE REFCUR1 IS REF CURSOR ;
    cur		REFCUR1;
     
    begin
     
         V_Requete := 'select col1,col2..... from '||table_name;
     
     
      --boucle sur le cursor dynamique
      Open cur For V_Requete ;
      Loop
    	Fetch cur Into var1,var2 ;--.....selon le nbre de colonnes
    	Exit when cur%NOTFOUND ;
     dbms_output.put_line('traitement');
     end loop;
    end ;

Discussions similaires

  1. Ref Cursor + sql dynamique
    Par jmfiliatrault dans le forum SQL
    Réponses: 2
    Dernier message: 05/11/2008, 15h11
  2. Appel de function en SQL Dynamique
    Par dkd dans le forum Oracle
    Réponses: 22
    Dernier message: 28/09/2004, 18h01
  3. SQL dynamique : pb de syntaxe
    Par Pasiphae dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/08/2004, 16h50
  4. SQL dynamique
    Par Etienne1 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 16/08/2004, 10h18
  5. SQL Dynamique - Materialized view
    Par Simeans2004 dans le forum SQL
    Réponses: 15
    Dernier message: 10/06/2004, 17h56

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