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

MS SQL Server Discussion :

Problème avec un Curseur...


Sujet :

MS SQL Server

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 11
    Points : 5
    Points
    5
    Par défaut Problème avec un Curseur...
    Salut à tous,

    Je n'arrive pas à effectuer l'insertion dans une table grâce à un curseur.
    Pourriez me dire ce qu'il ne va pas dans mon code, j'ai l'erreur suivante
    La variable '@IDEtab' doit être déclarée.
    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
     
    -- déclaration des variables de colonnes pour le curseur
    DECLARE @IDEtab int, 
    	@ColVersion VARCHAR(10), 
    	@SQL VARCHAR(1000)
     
    -- declaration du curseur
    DECLARE MyCursor CURSOR 
    FOR 
       SELECT ID, Version
       FROM Etablissement, Version
     
    -- ouverture du curseur
    OPEN MyCursor
     
    -- lecture du premier enregistrement
    FETCH MyCursor INTO @IDEtab, @ColVersion
     
    -- boucle de traitement
    WHILE @@fetch_Status = 0
    BEGIN
     
    -- lecture de l'enregistrement suivant
       SET @SQL = 'INSERT INTO SPECIFETAB (IDEtab,IDCodeSpecif) VALUES(@IDEtab,'''+@ColVersion+''')'
       EXEC(@SQL)
    FETCH MyCursor INTO @IDEtab, @ColVersion
    END
     
    -- fermeture du curseur
    CLOSE MyCursor
     
    -- libération de la mémoire
    DEALLOCATE MyCursor
    J'ai testé l'insertion sans IDEtab la requête fonctionne correctement, mais dès que je rajoute le variable IDEtab cela ne fonctionne pas pourtant cela provient bien du même curseur
    Le curseur est censé me renvoyé ce type d'enregistrement
    ID - Version
    1 - H225
    2 - G300
    3 - K35K

    Auriez vous une solution à me proposer
    Help, help

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 567
    Points
    19 567
    Billets dans le blog
    25
    Par défaut
    Commencez par remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SET @SQL = 'INSERT INTO SPECIFETAB (IDEtab,IDCodeSpecif) VALUES(@IDEtab,'''+@ColVersion+''')'
       EXEC(@SQL)
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO SPECIFETAB (IDEtab,IDCodeSpecif) VALUES(@IDEtab,@ColVersion)

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. Problème avec un curseur : ORA-00942
    Par tibal dans le forum PL/SQL
    Réponses: 2
    Dernier message: 23/11/2008, 13h01
  3. [SQL Server] Problème avec un curseur ?
    Par evans dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 07/04/2006, 11h01
  4. Problème avec les curseurs SQL SERVER
    Par stefostillrise dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 11/11/2005, 13h09
  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