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

SQL Firebird Discussion :

Problème de champ numeric dans les procédures stockées


Sujet :

SQL Firebird

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Problème de champ numeric dans les procédures stockées
    Bonjour,

    Je viens juste de débuter avec firebird ( 1.5 ) et je découvre des trucks bisard tel que le suivant :


    dans uen procédure stocké j'ai un champ numérique ( decimal (12,2) ) avec une variable numeriQUE DANS LA PAROCDURE STOCKé QUI REPRESENTE une collone dans une table, en voulant faire un insert dans la table j'ai plusieurs cas :

    1 - si la variable a une valeur arrondi ( pas de décimal) l'insertion se fait lme plus normalement.

    2 - si la variable a une valeur avec un décimal ( ex 15,25) l'erreur -804 s'affiche en mentionnant qu'il y'a plus de valeurs que de champ de la table : comme si le montant represente deux champ laprtie entière 1 et la partie décima un autre ( pb de la vergule).

    NB : En faisant une requête sous SQL avec les même valeurs, l'inserstion sa passe sans pb.


    Est ce que quelqu'un peut m'aider.

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 029
    Points : 40 927
    Points
    40 927
    Billets dans le blog
    62
    Par défaut
    le code de la procedure me semble utile pour répondre à la question
    non ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 100
    Points : 113
    Points
    113
    Par défaut
    La réponse est simple :
    C'est normal.

    En fait, la séparateur de partie entière et décimale d'un flottant en SQL n'est naturellement pas une ",". C'est obligatoirement le "." car le caractère "," est un séparateur de champs.

    Exemple avec une table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    create table TEST
    (
       num integer,
       flottant numeric(9,2)
    );
    de code qui fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    insert into TEST (num, flottant) values (1, 2.5);
    et code qui ne fonctionne pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    insert into TEST (num, flottant) values (1, 2,5);
    car interprété de la même façon que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    insert into TEST (num, flottant) values (1, 2, 5);

  4. #4
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    si crée tes requette à lamain en utlisant par ex:floattistr modifier decimalseparateur (je crois), c'est un des paramétres de delphi voir faq
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

Discussions similaires

  1. Les transactions dans les procédures stockées
    Par CharleLéo dans le forum Connexion aux bases de données
    Réponses: 2
    Dernier message: 04/12/2009, 16h04
  2. recherche texte dans les procédures stockée
    Par battl14 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 27/03/2009, 14h02
  3. Arguments dans les procédures stockées
    Par sliderman dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 28/03/2008, 13h29
  4. Problème d'alter table dans une procédure stockée
    Par Oluha dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 16/03/2005, 09h19
  5. Problème avec un LIKE dans une procédure stockée
    Par Oluha dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/12/2004, 14h38

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