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 :

Probleme d'insertion et de tri avec Procedure Stockée


Sujet :

MS SQL Server

  1. #1
    Membre éclairé Avatar de freud
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    1 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 271
    Points : 681
    Points
    681
    Par défaut Probleme d'insertion et de tri avec Procedure Stockée
    Bonsoir,

    Voila, j'ai une procedure stockée qui me permet de générer le calendrier dans une table en entrant comme paramètre l'année. Le probleme est que les 365 lignes qu'elle me génére je ne les obtient pas dans l'ordre chronologique ou numérique
    1/1/2007
    2/1/2007
    3/1/2007 etc...

    Curieusement La 1ere fois que je l'ai executée j'ai pas eu ce problème.
    Je les ai obtenu dans l'ordre


    Voici le 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
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
     
    CREATE PROCEDURE dbo.calendrier_INS
    (@Annee varchar(4))
    AS
    BEGIN
    declare @date1 datetime
    declare @date2 datetime
    declare @date3 datetime
    declare @i int
     
    set @date3 = '1/1/'+@Annee
    set @date1 = '1/1/'+@Annee
    set @date2 = '31/12/'+@Annee
    set @i = 1
     
    while @date3 <> @date2 
    BEGIN
    insert into calendrier  (jour,mois,annee) values (DATEPART(d,@date3),DATEPART(m,@date3), DATEPART(yyyy,@date3))
    SET  @date3 = @date3+1
    END
     
    insert into calendrier  (jour,mois,annee) values (day(@date3),month(@date3), year(@date3))
    END



    La structure de la table est la suivante :

    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
     
     
    CREATE TABLE [dbo].[calendrier] (
      [id_jour] int,
      [jour] char(2) COLLATE French_CI_AS,
      [mois] char(2) COLLATE French_CI_AS,
      [annee] char(4) COLLATE French_CI_AS,
      [num_semaine] int,
      [ini_jour] char(1) COLLATE French_CI_AS,
      [nom_jour] char(15) COLLATE French_CI_AS,
      [id_mois] int,
      [nom_mois] char(20) COLLATE French_CI_AS,
      [event_jour] char(1) COLLATE French_CI_AS
    )
    ON [PRIMARY]
    GO
    Meme en faisant un select avec un order by ca me donne pas le tri

    Si vous avez une solution

    Je vous remercie

  2. #2
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Bonjour,

    Premièrement, l'ordre d'insertion des lignes dans une table n'a aucune importance dans un SGBDR, donc ne te focalise pas sur cet aspect.

    Pour pour faire un ORDER BY, tu peux le faire via les colonnes annee, mois, jour. Une meilleure solution est d'ajouter une colonne smalldatetime qui contient le jour, et qui pourra te servir à l'avenir si tu veux calculer d'autres colonnes d'éléments de date, sur lequel tu pourras faire un ORDER BY

  3. #3
    Membre éclairé Avatar de freud
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    1 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 271
    Points : 681
    Points
    681
    Par défaut
    Bonjour,

    Merci beaucoup rudib pour ta meilleur solution, ca marche trés bien

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

Discussions similaires

  1. probleme avec procedure stockée
    Par tilily dans le forum C#
    Réponses: 3
    Dernier message: 16/01/2012, 20h46
  2. Probleme d'insertion de donnée sql avec zend server
    Par thebarbarius dans le forum Zend
    Réponses: 0
    Dernier message: 06/03/2010, 11h34
  3. Probleme avec Procedure stockée
    Par log528 dans le forum Développement
    Réponses: 1
    Dernier message: 18/05/2008, 16h14
  4. problemes avec procedures stockée
    Par nah_wah dans le forum SQL
    Réponses: 3
    Dernier message: 22/02/2007, 12h15
  5. Boucle avec procedure stocké
    Par badrel dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 15/06/2006, 08h42

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