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 :

Rôle de la colonne ALEA dans le tutoriel "Calendrier, timing et horaires en SQL"


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 30
    Points : 30
    Points
    30
    Par défaut Rôle de la colonne ALEA dans le tutoriel "Calendrier, timing et horaires en SQL"
    Bonjour,

    Après avoir lu et relu cet article, ainsi qu'essayé de porter le script fourni en PostgreSQL, je m'interroge sur la colonne ALEA. Aucune explication n'est donné. Dans les procédures fournies, la valeur de la colonne ALEA est remplie avec une valeur aléatoire.

    Si quelqu'un pouvait apporter des éclaircissements sur ce point à un débutant qui vient de se mettre concrètement à postgre SQL aujourd'hui

    Merci beaucoup.

    PS : Le lien vers l'article en question

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 30
    Points : 30
    Points
    30
    Par défaut
    Je me permet de reposter à la suite car je suis bloqué par rapport au portage du script sur PostgreSQL.

    Tout a été correctement traduit en plpgsql, mais je bloque sur des erreurs d'insertion dues au contraintes de tables non respectées lors de l'execution.

    Si quelqu'un a des conseils, je lui en serai très reconnaissant

    Bonne journée.

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 878
    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 : 21 878
    Points : 53 055
    Points
    53 055
    Billets dans le blog
    6
    Par défaut
    La colonne ALEA sert à fournir un alea relatif pour des tirages au sort de lignes.

    Pour les erreurs, je ne me suis pas penché dessus, mais pouvez-vous m'indiquer lesquelles ? Je corrigerais à mon retour vendredi (je suis en déplacement).

    A +

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 30
    Points : 30
    Points
    30
    Par défaut
    Bonsoir,

    Merci de vous intéresser à mon problème.

    Les erreurs dont je parlais hier concernaient les contraintes sur les colonnes gérant le jour de la semaine, qui attendaient donc un numéro entre 1 et 7.
    Or en pgSQL, la fonction qui permet de récupérer les éléments d'une date répertorie les jours de la semaine de 0 à 6, donc ca posait problème.

    Maintenant les 2 procédures (SP_PLN_CREATE_YEAR et SP_PLN_CREATE_ONE_YEAR) fonctionnent et la table est correctement alimenté (du moins je suppose, les données sont cohérentes).

    Par contre je n'arrive pas à faire fonctionner les requêtes de mise à jour des rangs, ou du moins les données qu'elles me retournent ne sont pas cohérentes.
    Voilà ce que j'obtiens par exemple lorsque je calcule le rang semaine :

    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
    30
    PJR_DATE                       PJR_RANG_SEMAINE
    "2007-01-16 00:00:00"     106.1429
    "2007-01-17 00:00:00"     106.2857
    "2007-01-18 00:00:00"     106.4286
    "2007-01-19 00:00:00"     106.5714
    "2007-01-20 00:00:00"     106.7143
    "2007-01-21 00:00:00"     105.8571
    "2007-01-22 00:00:00"     107.0000
    "2007-01-23 00:00:00"     107.1429
    "2007-01-24 00:00:00"     107.2857
    "2007-01-25 00:00:00"     107.4286
    "2007-01-26 00:00:00"     107.5714
    "2007-01-27 00:00:00"     107.7143
    "2007-01-28 00:00:00"     106.8571
    "2007-01-29 00:00:00"     108.0000
    "2007-01-30 00:00:00"     108.1429
    "2007-01-31 00:00:00"     108.2857
    "2007-02-01 00:00:00"     108.4286
    "2007-02-02 00:00:00"     108.5714
    "2007-02-03 00:00:00"     108.7143
    "2007-02-04 00:00:00"     107.8571
    "2007-02-05 00:00:00"     109.0000
    "2007-02-06 00:00:00"     109.1429
    "2007-02-07 00:00:00"     109.2857
    "2007-02-08 00:00:00"     109.4286
    "2007-02-09 00:00:00"     109.5714
    "2007-02-10 00:00:00"     109.7143
    "2007-02-11 00:00:00"     108.8571
    "2007-02-12 00:00:00"     110.0000
    J'ai mis en gras les élements incohérents.

    Voici également la requête que j'exécute sous postgreSQL, qui est la même que dans votre article.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT PJR_DATE, 
            CAST(
            CAST(PSM_ID AS FLOAT)  + 51
         + (SELECT SUM(MAX_PSM_ID)
            FROM   (SELECT MAX(PSM_ID) AS MAX_PSM_ID
                    FROM   T_PLN_JOUR_PJR
                    WHERE  PAN_ID < PJR.PAN_ID
                    GROUP  BY PAN_ID)
            T )
        + (CAST(PJS_ID AS FLOAT) - 1) / 7 
          AS DECIMAL(10,4)) AS PJR_RANG_SEMAINE
    FROM T_PLN_JOUR_PJR PJR
    Je n'ai peut être pas saisi le fonctionnement des rangs, mais une unité entière devrait représenter une semaine ?

    Je peux également vous fournir les scripts des procédures portés sur postgreSQL si cela peut aider.

    Bonne soirée.

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/07/2006, 14h28
  2. colonne affichée dans une liste déroulante
    Par Tierisa dans le forum Access
    Réponses: 4
    Dernier message: 13/10/2005, 16h13
  3. [SQL Server 2000] ajouter une colonne identité dans une vue?
    Par CetTer dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 02/08/2005, 13h43
  4. Limitation de colonnes TIMESTAMP dans SQL Server
    Par eguilloteau dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/06/2005, 11h05
  5. Colonnes dynamiques dans Rave report
    Par omarkrachni dans le forum Rave
    Réponses: 1
    Dernier message: 10/05/2005, 18h33

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