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 :

[Sybase] curseur qui parcourt mal ?


Sujet :

Langage SQL

  1. #1
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut [Sybase] curseur qui parcourt mal ?
    Bonjour à tous

    Je suis sur Sybase 12.5 et j'ai quelques soucis avec un curseur qui modifie la table qu'il parcourt

    En fait il parcourt ma table et si, sous certaines conditions validées il
    - calcul un gros truc
    - met à jour une colonne.


    Seul soucis, manifestement le curseur saute des lignes, ce qui m'oblige à ce genre de manipulation :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    DECLARE @nb_ligne_encore_a_calculer INT
    	SELECT @nb_ligne_encore_a_calculer = COUNT(*) FROM temp_works..comm_data 	WHERE facilitation = 1 AND indirect_comm = NULL
     
    	WHILE @nb_ligne_encore_a_calculer > 0
    	BEGIN
    		EXEC calc_indirect_com
     
    		SELECT @nb_ligne_encore_a_calculer = COUNT(*) FROM temp_works..comm_data WHERE facilitation = 1 AND indirect_comm = NULL
    	END

    C'est normal ce genre de comportement ???
    Il y a peut-être une technique je ne connais pas, je voudrais votre avis.


    Merci beaucoup.

  2. #2
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    up

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Je ne sais pas si Sybase est un SGBD couramment utilisé mais personnellement je ne connais pas cette déclaration de curseur : sous Oracle c'est vraiment différent.

    Je ne saurais que te conseiller de demander à ce que ton post soit déplacé dans le forum sur Sybase...

    Ceci dit, est-ce normal que tu utilises le signe égal et non IS avec NULL ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ... AND indirect_comm = NULL

  4. #4
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    merci de ta réponse.

    J'ai résolu en contournant : tables temporaires et plus de curseur.
    J'en ai parlé à mes collègues, apparement c'est connu ici, que les curseurs font nawak.



    Pour le NULL, j'ai toujours fait ça, en analogie avec "xxx IS NOT NULL".

    Le = me choque un peu mais fait pareil. En effet, logiquement, un NULL ne peut être égal à un autre NULL.

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

Discussions similaires

  1. un DELETE qui fonctionne mal
    Par HULK dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 06/02/2006, 19h59
  2. xslt qui parcourt deux sources xml
    Par nemya dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 20/09/2005, 12h28
  3. [SQL] une requete qui fait mal a la tete
    Par MailOut dans le forum Langage SQL
    Réponses: 7
    Dernier message: 07/02/2005, 17h22
  4. [Linux]Avoir le curseur qui clignote
    Par Yabo dans le forum C
    Réponses: 2
    Dernier message: 06/07/2003, 14h46

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