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

Oracle Discussion :

ckeck et length


Sujet :

Oracle

  1. #1
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2004
    Messages : 85
    Points : 89
    Points
    89
    Par défaut ckeck et length
    Bonjour,

    Lors de la création de mes tables, je suis amené à verifier la longueur de certains champs (tel, fax, etc...) mais avec cette syntaxe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE entreprise ADD CONSTRAINT entreprise_Tel CHECK (length(Tel) = 10);
    il m'est maintenant impossible d'entrer un enregistrement.

    Ci - dessous ma table:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    CREATE TABLE entreprise (
      Numentreprise NUMBER(4),
      Nom varchar(50) NOT NULL,
      Numadr NUMBER(3),
      Rue varchar(150), 
      Codepostal NUMBER(5),
      Ville varchar(50),
      Tel NUMBER(10),
      Fax NUMBER(10),
      Web varchar(150),
      Contact varchar(50),
      PRIMARY KEY  (Numentreprise)
    );
    merci

  2. #2
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    Tel est défini en NUMBER (ce qui est une erreur en soi) et dessus, vous appliquez une focntion de manipulation de chaine ?

  3. #3
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2004
    Messages : 85
    Points : 89
    Points
    89
    Par défaut
    Oki, c'est vrai que l'erreur est assez impressionante.
    Alors quelle est la meilleur solution:

    - redefinir le type de tel en varchar par ex
    - ou existe t'il peut etre une autre fonction

    merci pour la rapidité de vos reponses

  4. #4
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Citation Envoyé par aicfr
    Oki, c'est vrai que l'erreur est assez impressionante.
    Alors quelle est la meilleur solution:
    - redefinir le type de tel en varchar par ex
    Comme l'a suggéré LéoAnderson : c'est obligatoire.

    Une remarque, avec une longueur de 10 tu ne géreras pas l'étranger...

  5. #5
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    Citation Envoyé par Médiat
    Citation Envoyé par aicfr
    Oki, c'est vrai que l'erreur est assez impressionante.
    Alors quelle est la meilleur solution:
    - redefinir le type de tel en varchar par ex
    Comme l'a suggéré LéoAnderson : c'est obligatoire.

    Une remarque, avec une longueur de 10 tu ne géreras pas l'étranger...
    +1

    Et même si aujourd'hui vous avez la certitude absolue que jamais il n'y aura de n° étrangers, vous avez l'air malin si dans 2 ans, on procédère à une renumérotation des n° nationaux (comme cela a eu lieu il y a quelques années !)
    je serais d'avis de déclarer un VARCHAR2(30) (ça laisse de la marge et ça ne coute rien) et éventuellement d'appliquer des contraintes de vérification soit longueur de 10, soit présence d'un indicatif international). Ainsi, si la numérotation change, il n'y a que la contrainte à modifier.

Discussions similaires

  1. ORA-24373 : invalid length specified for statement
    Par fa_say dans le forum Oracle
    Réponses: 2
    Dernier message: 19/11/2005, 15h16
  2. Champ vide mais champ.value.length > 0 ?...
    Par linou dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 14/04/2005, 12h22
  3. [JTABLE] taille dynamique = F°(String.length)
    Par tripop dans le forum Composants
    Réponses: 15
    Dernier message: 13/01/2005, 18h07
  4. sql string length
    Par pedro226 dans le forum Bases de données
    Réponses: 9
    Dernier message: 05/05/2004, 11h43
  5. ERROR: pg_atoi: zero-length string
    Par steelspirit92 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 23/08/2003, 23h29

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