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

Développement SQL Server Discussion :

CURSOR SQL SERVER 2000


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 57
    Par défaut CURSOR SQL SERVER 2000
    Salut, j'ai une procédure où j'ai besoin de recupérer les ID composés pour les modifier et faire une insertion dans la même table.

    J'utilise donc un cursor pour boucler sur le jeu d'enregistrement.
    Le problème c'est que le cursor me renvoie le numéro de ligne et non la valeur de la colonne.

    Voici mon code :
    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
     
    DECLARE @CodeImprod varchar(30)
    DECLARE LIGNE CURSOR FOR SELECT CodeImprod from Improd where datecreation between '01/01/2007' and '31/12/2007'
     
    open ligne
     
    fetch next from ligne into @codeimprod
    while @@fetch_status =0
    begin
    Print @codeimprod
    fetch next from LIGNE into @codeImprod
    end
     
    close ligne
    deallocate ligne
    Et là, Mon print me renvoie "1" autant de fois que j'ai d'enregistrement
    Quelqu'un aurait-t-il une idée ?

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Avez-vous regardé l'ensemble de données retourné par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CodeImprod FROM Improd WHERE datecreation BETWEEN '01/01/2007' AND '31/12/2007'
    @++

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 57
    Par défaut
    Citation Envoyé par elsuket Voir le message
    Bonjour,

    Avez-vous regardé l'ensemble de données retourné par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CodeImprod FROM Improd WHERE datecreation BETWEEN '01/01/2007' AND '31/12/2007'
    @++
    OUI, bien entendu, la requête me renvoie 115 enregistrements.

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 002
    Billets dans le blog
    6
    Par défaut
    DEe quel type est la colonne Improd ? Pourquoi avez vous mis un VARCHAR pour @CodeImprod ??

    A
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    OUI, bien entendu, la requête me renvoie 115 enregistrements.
    En fait la question était : et que contiennent ces lignes ?

    @++

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 57
    Par défaut
    Citation Envoyé par elsuket Voir le message
    En fait la question était : et que contiennent ces lignes ?

    @++
    Le champ CodeImprod dans la base est de type varchar(30).
    Il me semble donc normal de déclarer la variable qui recevra son contenu avec le même type que lui.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 57
    Par défaut
    Citation Envoyé par elsuket Voir le message
    En fait la question était : et que contiennent ces lignes ?

    @++
    Le contenu du champ est des codes que nous donnons aux improductivités de la boite.
    Ces codes sont issus d'une règle d'exigence édifiée par la qualité.
    EX : A8V52140; 18A32540 etc ...
    A ce niveau là il n'y a pas des soucis, car la génération de ces codes est blindée.
    La preuve en est que la requete sql (tout seul) me renvoie bien les 115 codes crées.

Discussions similaires

  1. Problème d'installation de sql server 2000
    Par michelci dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 12/12/2003, 08h02
  2. Certification 70-228 sql server 2000
    Par Cotentin dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 20/11/2003, 09h01
  3. Débutant : SQL Server 2000
    Par bd0606 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 27/10/2003, 11h33
  4. Migration de MS SQL 7 vers MS SQL server 2000
    Par jfphan dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 15/10/2003, 11h24
  5. problème de float sur SQL server 2000.
    Par fidji dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 24/07/2003, 14h15

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