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 Oracle Discussion :

Erreur 'Nombre non valide'


Sujet :

SQL Oracle

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 12
    Points : 8
    Points
    8
    Par défaut Erreur 'Nombre non valide'
    Bonjour,

    So, j'ai fait le script suivant :

    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
     
    CREATE TABLE SERVICE (
    	idServ NUMBER (3) ,
    	nomS VARCHAR2 (50) ,
    	ageDeb VARCHAR2 (10) ,
    	ageFin VARCHAR2 (10) ,
    	descriptionS VARCHAR2 (500) ,
    	prixS VARCHAR2 (100) ,
    	conditionS VARCHAR2 (500) ,
    	CONSTRAINT pk_service PRIMARY KEY (idServ) ,
    	CONSTRAINT ck_idserv CHECK (idServ > 0) ,
    	CONSTRAINT ck_prixS CHECK (prixS > = 0)
    ) ;
     
     
     
    	CREATE TABLE CALENDRIER (
    	date1 DATE ,
    	CONSTRAINT pk_calendrier PRIMARY KEY (date1) ,
    	CONSTRAINT ck_date1 CHECK ( 'date1' BETWEEN ('2011-12-31') AND ('2013-01-01')) 
    	) ;
    J'ai mis des guillemets partout car il n'y a que comme ça que ça marche...


    Puis, j'insère les données suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INSERT INTO SERVICE VALUES (10,'Linge de toilette',NULL,NULL,'En location sur place - Kit de bain (1serviette + 1 drap + 1 tapis)','7.5€/personne',NULL) ;
    ERREUR à la ligne 1 :
    ORA-01722: Nombre non valide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO CALENDRIER VALUES ('2012-04-07') ;
    ERREUR à la ligne 1 :
    ORA-01861: le littéral ne concorde pas avec le format chaîne de caractères

    Je ne sais pas du tout d'où viennent ces erreurs...

    Quelqu'un a une idée ?

    Merci d'avance

  2. #2
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 158
    Points : 64
    Points
    64
    Par défaut
    Bonjour,

    Essayez ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE TABLE CALENDRIER (
    date1 DATE ,
    CONSTRAINT pk_calendrier PRIMARY KEY (date1) ,
    CONSTRAINT ck_date1 CHECK ( date1 BETWEEN to_date('2011-12-31','YYYY-MM-DD') AND 
    to_date('2013-01-01','YYYY-MM-DD')) 
    ) ;
     
    insert into calendrier values(to_date('2010-12-06','YYYY-MM-DD'));
    Car il se peut que le format de la date est différente que celle que vous voulez insérer.

    Pour voir le format de la date, afficher la date courante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select sysdate from dual;

    Si vous voulez modifiez une fois pour toute le format de la date pour cette session vous pouvez faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter session set nls_date_format = 'YYYY-MM-DD';
    Pour la première erreur, comment êtes-vous en train d'insérer le symbole de l'euro ?

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Bonjour !

    Concernant les dates, en effet ça marche. C'était donc juste un petit truc de format.. Merci beaucoup !

    Concernant mon autre problème, j'ai remplacé le signe "+" par "plus", "€" par "euro"... Rien ne change. Toujours le même message d'erreur...

  4. #4
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CONSTRAINT ck_prixS CHECK (prixS > = 0)
    C'est une contrainte sur une colonne de type varchar, que vient faire le >= 0 ??
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Ola oui ! En effet !
    J'ai modifié mon code sans penser aux contraintes...

    Merci beaucoup !

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

Discussions similaires

  1. ORA-01722: Nombre non valide
    Par misa dans le forum Oracle
    Réponses: 4
    Dernier message: 18/12/2007, 15h23
  2. Réponses: 7
    Dernier message: 03/05/2007, 12h44
  3. Réponses: 8
    Dernier message: 08/09/2006, 14h09
  4. erreur: usage non valide du null
    Par Pau dans le forum Access
    Réponses: 2
    Dernier message: 28/04/2006, 10h41
  5. Réponses: 7
    Dernier message: 07/03/2006, 09h34

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