Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils
Outils Forum d'entraide sur les outils pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/11/2010, 11h56   #1
Invité régulier
 
Aurélien
Inscription : novembre 2009
Messages : 50
Détails du profil
Informations personnelles :
Nom : Aurélien

Informations forums :
Inscription : novembre 2009
Messages : 50
Points : 6
Points : 6
Par défaut Squirrel INTEGER et DECIMAL(22)

Salut à tous !

Je suis en train de tourner en rond sans trouver de réèlle solution donc je me tourne vers vous.

Je veux créer des tables sous Squirrel (3.1) contenant entre autres des INTEGER.
Par defaut il me transforme mes INTEGER en DECIMAL(22).
Ce qui me dérange c'est que si par hasard (on sait jamais) je rentre 1.2 ça me donne 1 et si je rentre 1.6 ça me donne 2 alors que j'aurais préféré que ça me donne 1 dans les deux cas.
J'ai essayé DECIMAL(*,0) ou NUMBER(*,0) mais il me remet toujours par défaut un DECIMAL(22) avec le même principe

En fait, plutôt j'aimerais quand même que si je rentre autre chose qu'un entier il me refuse l'écriture tout simplement ... avec un message d'erreur ... comment je pourrais faire cela ?

Merci,
Auré.
nodules est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2010, 12h07   #2
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 680
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 680
Points : 10 466
Points : 10 466
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Chez Oracle il n'y a qu'un seul type qui regroupe tous les formats numérique : NUMBER.

On peut affiner avec précision et échelle, mais ça reste le même type de données.

Si vous voulez prévoir l'entrée involontaire de décimaux, utilisez le type number et par une vue faites un floor/truncate de ce nombre.
Comme ça vous pilotez explicitement votre règle.
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2010, 14h17   #3
Invité régulier
 
Aurélien
Inscription : novembre 2009
Messages : 50
Détails du profil
Informations personnelles :
Nom : Aurélien

Informations forums :
Inscription : novembre 2009
Messages : 50
Points : 6
Points : 6
Merci Fabien ...

Lorsque je travaillais avec Oracle XE c'est effectivement ce que je faisais ... seulement avec Squirrel même les NUMBER(*,0) il me les transforme en DECIMAL(22) ... je le vois en regardant la source de la table en question.
Et DECIMAL(22) je sais pas trop à quoi ça correspond en comparaison de NUMBER(*,0).
J'ai l'impression que c'est équivalent à DECIMAL(22,0) mais j'en suis pas sur.

Tu peux me confirmer ou m'infirmer ?
Et sais tu quelle est la différence entre DECIMAL et NUMBER ?

Merci.
nodules est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2010, 14h45   #4
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 680
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 680
Points : 10 466
Points : 10 466
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Aucune différence, DECIMAL(22) = NUMBER(22) = NUMBER(22,0).
Par contre NUMBER(*,0) c'est NUMBER(38) qui est la précision maximale avec Oracle.
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h08.


 
 
 
 
Partenaires

Hébergement Web