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 :

Transact SQL - Curseurs


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 5
    Points : 7
    Points
    7
    Par défaut Transact SQL - Curseurs
    Salut je développe une procédure stockée en transact sql
    le script est simple, je récupère le nom des colonnes d'une table
    et ensuite je veux faire afficher les valeur propre a chaque colonne : j'ai besoin de deux curseurs
    voila le script


    create procedure UPDATE_CUSTOMER
    AS
    DECLARE

    @name_column varchar(30),
    @valeur_column_adonix varchar(50),
    @valeur_column_alloga varchar(50)

    DECLARE MyCursor CURSOR
    FOR
    select name from syscolumns where id in (select id from sysobjects where name='ADONIX_CUSTOMER')

    OPEN MyCursor
    FETCH MyCursor INTO @name_column

    WHILE @@fetch_Status = 0
    BEGIN
    --print @name_column
    DECLARE MyCursor2 CURSOR
    FOR
    select @name_column from ADONIX_CUSTOMER

    OPEN MyCursor2
    FETCH MyCursor2 INTO @valeur_column_adonix

    WHILE @@fetch_Status = 0
    BEGIN
    print @valeur_column_adonix
    FETCH MyCursor2 INTO @valeur_column_adonix
    END

    CLOSE myCursor2
    DEALLOCATE myCursor2

    FETCH MyCursor INTO @name_column
    END

    CLOSE myCursor
    DEALLOCATE myCursor


    le problème c'est qu'il m'affiche le nom de la colonne et non pas les valeurs enregistrées dans cette colonne.
    Il aime pas le
    select @name_column from ADONIX_CUSTOMER

    quelqu'un a une idée ?

    Merci !

  2. #2
    Expert éminent
    Homme Profil pro
    Big Data / Freelance EURL
    Inscrit en
    Mars 2003
    Messages
    2 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Big Data / Freelance EURL

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 124
    Points : 7 291
    Points
    7 291
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select @ma_variable from ma_table
    ne peut pas fonctionner.

    Une affectation de variable se fera par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select @ma_variable=ma_colonne from ma_table.
    Mais toi tu cherches à executer une requête SQL qui est construite d'après une variable. C'est du SQL dynamique.

    Il faut faire quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EXECUTE IMMEDIATE 'select '+@name_column +' from ADONIX_CUSTOMER '
    Mais je connais mal le SQL dynamique sous SQL Server et il me semble que EXECUTE IMMEDIATE ne sait pas récupérer des lignes de résultats. Peut-être avec un curseur dynamique ? (En fait je sais faire cela sous Oracle mais pas sous SQL Server). Je laisse la parole aux experts SQL dynamique sous SQL Server.

  3. #3
    Expert éminent
    Homme Profil pro
    Big Data / Freelance EURL
    Inscrit en
    Mars 2003
    Messages
    2 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Big Data / Freelance EURL

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 124
    Points : 7 291
    Points
    7 291
    Par défaut
    résolu ? C'était quoi la solution ?

    ça peut servir à d'autres...

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/09/2007, 22h19
  2. [JDBC][Access] Transaction SQL sur MS Access?
    Par Twofy dans le forum JDBC
    Réponses: 2
    Dernier message: 19/08/2004, 14h46
  3. Transact Sql : Conversion de variable
    Par lord_paco dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/08/2003, 13h25
  4. Conversion de SQL à Transact-SQL
    Par sebioni dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 03/07/2003, 11h59
  5. - fonction Transact-SQL...
    Par korrigann dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/05/2003, 15h00

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