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 :

Aide sql server 2012


Sujet :

Développement SQL Server

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 23
    Points : 27
    Points
    27
    Par défaut Aide sql server 2012
    Bonjour,

    je n'arrive pas à trouver la solution à mon problème. Je m'en remets dons à vous

    Voici ma table BIG_VIEW_PRODUCT :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    useridglobal datevisite targetvalue hostname timeID ordre realevent
    j'ai deux dates car datevisite est en unixtime (précis pour les secondes) et timeID en timestamp.

    Alors je vous explique, pour l'instant mon realevent est par défaut NULL (c'est un int).
    J'aimerais faire une fonction, un curseur, une boucle.. j'en ai aucune idée mais je sais le résultat que je dois avoir.
    En gros pour un useridglobal, lorsque l'ordre est supérieur à 20 il faut mettre realevent à la valeur 0. Sinon realevent doit être à 1 par défaut.

    J'avais commencer ce curseur mais il est faux et je sais pas comment l'arranger...

    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
    declare @useridglobal varchar(250)
    declare @ordre int
    declare @realevent int
     
    declare curseur_realevent cursor local for
     
    select useridglobal, ordre, realevent
    from BIG_VIEW_PRODUCT
    where ordre > 20
    group by useridglobal, ordre, realevent
     
    open curseur_realevent
    fetch next from curseur_realevent into @useridglobal, @ordre, @realevent
    while @@FETCH_STATUS=0
    	begin
    	set @realevent=1
    	select @realevent=realevent from BIG_VIEW_PRODUCT
    	where @useridglobal=useridglobal and @ordre=ordre
     
    	if @ordre>20
    		begin
    			@realevent=0
    		else
    			@realevent=1
    		end
     
    	fetch next from curseur_realevent into @useridglobal, @ordre, @realevent
    	end close curseur_realevent
    deallocate curseur_realevent
    En espérant avoir une réponse ^^

    A +

  2. #2
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2003
    Messages : 733
    Points : 1 668
    Points
    1 668
    Billets dans le blog
    8
    Par défaut
    Si vous voulez juste mettre à jour votre Table BIG_VIEW_PRODUCT, vous n'avez pas besoin de curseur, etc. Vous vous devez de privilégier le langage ensembliste comme indiqué ci-dessous :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE  dbo.BIG_VIEW_PRODUCT   
      SET realevent = CASE WHEN Ordre > 20 THEN  0 ELSE 1 END;

    A+
    "Une idée mal écrite est une idée fausse !"
    http://hamid-mira.blogspot.com

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 23
    Points : 27
    Points
    27
    Par défaut
    Salut,

    super ça marche nickel
    effectivement partir dans un curseur aurait été une mauvaise idée...

    Merci beaucoup

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

Discussions similaires

  1. [2012] Aide curseur sql server 2012
    Par kent69003 dans le forum Développement
    Réponses: 2
    Dernier message: 06/05/2015, 11h50
  2. Réponses: 9
    Dernier message: 31/05/2012, 08h56
  3. SQL Server 2012 : exécuter Denali sans l’installer ?
    Par Hinault Romaric dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 09/01/2012, 12h03
  4. [Geek] Kinect et SQL Server 2012
    Par Ptit_Dje dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 21/10/2011, 20h00
  5. aide sql server 2000/vb6
    Par maxtin dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 05/08/2006, 19h50

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