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

Requêtes PostgreSQL Discussion :

Colonne numérique "valeur par défaut 0.00" qui ne s'affiche pas dans la table ?


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    R&D
    Inscrit en
    Décembre 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 32
    Points : 16
    Points
    16
    Par défaut Colonne numérique "valeur par défaut 0.00" qui ne s'affiche pas dans la table ?
    Bonjour,

    Je ne sais que faire...

    J'ai une colonne xx dans une table
    type numeric 10,2
    valeur par defaut 20.00
    non null
    (pas de trigger actif)

    Lorsque j'ouvre la table avec toutes ces colonnes, les champs de la colonne xx restent à 0.00.
    Je ne comprends pas pourquoi. Si vous pouviez m'expliquer où est ma boulette...
    Merci bien,
    Daniel

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Les valeurs par défaut sont appliquées au moment de l'insertion : elle se substitue à une absence de valeur.
    Mais si quand vous insérez une ligne vous indiquez une valeur, celle-ci est bien utilisée.

    Le test ci-après est sous Oracle - ce sera pareil sur PG :
    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
    create table titi (c1 number(10,2) not null, c2 number(10,2) default 20 not null);
    -- table TITI créé(e).
     
    insert into titi (c1, c2) values (1, 5);
    -- 1 lignes inséré.
     
    insert into titi (c1, c2) values (2, null);
    -- ORA-01400: impossible d'insérer NULL dans TITI.C2
     
    insert into titi (c1) values (3);
    -- 1 lignes inséré.
     
    select c1, c2 from titi;
     
            C1         C2
    ---------- ----------
             1          5 
             3         20

  3. #3
    Membre à l'essai
    Homme Profil pro
    R&D
    Inscrit en
    Décembre 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 32
    Points : 16
    Points
    16
    Par défaut Merci pour l'explication
    Bonjour,

    Merci de l'explication, je ne savais vraiment pas que cela fonctionnait comme cela, mais pour être sûr d'avoir compris, il donc faut que j'utilise ma table/colonne pour "initialiser" la valeur par défaut , c'est bien ça ?

    MAIS... avec un trigger c'est PAREIL ?
    Alors si je lance une fonction + trigger sur cette table/colonne par défaut, le trigger devrait donc également activer la valeur par défaut et la remplacer par son propre résultat?
    Pourtant ça ne marche pas.. est ce que le trigger "active" aussi la table ? ce qui fait qu'à priori, le trigger va modifier la valeur par défaut en l'écrasant par une autre donnée calculée?
    C'est comme ça que ça marche ou les triggers n'ont pas le même effet sur la table ..

    Parce que si ça marche pas, alors c'est que c'est mon trigger qui n'est pas bon...

    Merci encore
    Dan

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    N'hésitez pas à fournir le code du déclencheur, on devrait voir rapidement s'il force une valeur dans la colonne ou pas.

  5. #5
    Membre à l'essai
    Homme Profil pro
    R&D
    Inscrit en
    Décembre 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 32
    Points : 16
    Points
    16
    Par défaut suite vos conseils
    Bonjour,

    J'avais abandonné l'orientation de calcul par trigger puisque cela ne fonctionnait pas.
    Je m'étais retourné vers un script de calcul (struts/tag) hors postgres

    La situation
    TableA (donnéeA déjà enregistrée en BD lors du paramétrage de l'application)
    TableB (saisie et enregistrement d'une donnée B via une IHM/ popup formulaire)
    TableC = 0.00 par défaut ( Affichage du résultat instantané calcul A X B dans le formulaire, >> enregistrement du calcul dans table C)

    Là aussi j'ai un problème, je ne m'en sort pas, je n'arrive même pas à afficher la donnée donnée A dans mon JSP STRUTS > > IHM, pourtant je crois que mes fichiers create, form, jpa, xml, tag, .. sont corrects ? je vais chercher la réponse sur l'espace forum/struts

    Je vais pas m'en sortir.. je pars dans tout les sens.

    N'étant pas sur d'être clair dans mes explications, vous trouverez une petite synthèse :

    Solution 1 POSTGRESQL: utiliser un trigger pour mettre à jour la tableC dans postgresql
    >> déclenchement du trigger par saisie de la donnée B (?) dans le formulaire, mais celle-ci n'est enregistrée en BD qu’après la validation du formulaire
    Cette solution me pose problème, le trigger ne peut à priori que s'activer sur un événement en Bd, et en ce cas l’événement ( enregistrement donnée B) n'a lieu au moment de la validation du formulaire, donc après le calcul de la donnée C qui doit être déclenchée avant la validation finale, je tourne en rond. OU ALORS déclencher le trigger PSQL en JS dés la saie de la donnée B mais je ne sais pas si c'est possible ??

    Solution 2 JS/STRUTS/: utiliser un script hors postgres pour faire le calcul, afficher instantanément son résultat dans le popup avec struts avant validation du formulaire ( enregistrement du calcul en Table C à la validation finale du formulaire)

    Solution 3 .. ? peut être (certainement) qu'il y en a d'autres que je connais pas.

    Pour ma part je pense que travailler en trigger directement sur postgres serait préférable et puis je suis sur un forum postgresql.

    Si vous voulez bien, pouvez m'indiquer qu'elle est la meilleure solution que vous me conseilleriez pour que je ne m'éparpille pas et travaille que seulement sur l'une d'entr'elle.
    Par rapport à cela je vous indiquerez mes codes;
    Merci beaucoup de votre aide
    Dan

Discussions similaires

  1. valeur par défaut d'une colonne
    Par nabil148911 dans le forum Oracle
    Réponses: 5
    Dernier message: 06/08/2007, 15h52
  2. Trigger : Récupérer la valeur par défaut d'une colonne
    Par mcspr2002 dans le forum Administration
    Réponses: 5
    Dernier message: 12/01/2007, 13h53
  3. Supprimer une colonne avec valeurs par défaut
    Par SlashOwnsU dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 18/09/2006, 10h10
  4. excel: colonne qui ne s'affiche pas dans une liste
    Par fast&furious dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/07/2006, 18h12
  5. Réponses: 2
    Dernier message: 06/07/2004, 17h46

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