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

Administration Oracle Discussion :

Contrainte de date dans la création d'une table


Sujet :

Administration Oracle

  1. #1
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut Contrainte de date dans la création d'une table
    Bonjour à tous ...

    Je début en Oracle et j'aurais besoin de vos conseil. J'utilise Oracle Express que j'ai téléchargé sur Oracle.com

    J'ai créer une table avec cette syntaxe :

    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
    CREATE TABLE TB_CLIENTS
    	(
    		pk_client 		NUMBER(6),
    		nom_client 		VARCHAR2(30) 	CONSTRAINT ct_nn_nom_client NOT NULL,
    		pre_client 		VARCHAR2(30)	CONSTRAINT ct_nn_pre_client NOT NULL,
    		num_client 		VARCHAR2(30),
    		nb_commande_client	NUMBER(6), 
    		date_naiss_client	DATE,
    		telephone_client	VARCHAR2(30),
    		capital_social_client	NUMBER(10,2),
    		CONSTRAINT ct_pk_client PRIMARY KEY (pk_client),
    		CONSTRAINT ct_un_num_client UNIQUE(num_client),
    		CONSTRAINT ct_ck_date_naiss_client CHECK (date_naiss_client BETWEEN (TO_DATE('01/01/1986','dd/mm/yyyy')) AND (TO_DATE('31/11/1987','dd/mm/yyyy'))),
    		CONSTRAINT ct_ck_mar_commande CHECK (nb_commande_client < 10),
    		CONSTRAINT ct_ch_capital_sociale_client CHECK (capital_social_client >= 100000)
    	);
    Lorsque je veux rentrer des valeurs dans ma tables voici comment je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO TB_CLIENTS VALUES (1,'Dupont','Alfred','CLI_01',5,'23/11/1986','0785632324',111111);
    Et bien entendu voici l'erreur que me génère Oracle :

    Error report:
    SQL Error: ORA-01839: le quantième n'est pas valide pour le mois indiqué
    Savez-vous d'où peut provenir le problème ???

    Merci de votre aide ... et à tout bientôt ..

  2. #2
    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
    Une date n'est pas une chaine de caractère.
    Utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    to_date('01/11/2006', 'DD/MM/YYYY')

Discussions similaires

  1. Contrainte de date dans une requête
    Par pcsystemd dans le forum Débuter
    Réponses: 2
    Dernier message: 19/06/2009, 07h38
  2. SVP Probleme dans la création d'une table
    Par sephirothmana dans le forum Langage SQL
    Réponses: 2
    Dernier message: 29/11/2006, 17h12
  3. Réponses: 2
    Dernier message: 23/05/2006, 16h58
  4. [VB.NET] création d'une table dans une base access
    Par smedini dans le forum Accès aux données
    Réponses: 1
    Dernier message: 31/12/2005, 11h53
  5. création d'une table dans une base de donnée accèss
    Par zidenne dans le forum Bases de données
    Réponses: 1
    Dernier message: 25/10/2005, 10h54

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