2010-07-28 4 views
1

Dans Oracle db, nous avons une table avec le type de colonne varchar2 (par exemple USERNAME). Comment puis-je définir une longueur exacte (ou au moins minimale) pour cette colonne? De sorte que tous les noms d'utilisateur insérés dans cette table ne peuvent avoir que 10 caractères (ou doivent avoir au moins 10 caractères).Oracle varchar2 longueur minimale

Répondre

9

Vous pouvez utiliser une contrainte de vérification:

CREATE TABLE mytable (
    mycolumn varchar2(50), 
    constraint strlen check (length(mycolumn) > 2) 
) 

ou quelque chose de similaire. Cependant, je ne suis pas sûr de son efficacité.

+0

Il fonctionnera parfaitement bien :) –

+0

je suppose que vous vouliez dire .. remplacer le '2' avec votre taille minimum .. oui? – ShoeLace

+0

@ShoeLace oui vous devez – DilanG

-1

Ou juste pour le plaisir,

CREATE TABLE testit 
(mycolumn VARCHAR2(20) CONSTRAINT min_length_chk CHECK (mycolumn LIKE '__%')); 

Il est moins explicite que l'approche LONGUEUR() mais je ne suis pas sûr que je le recommande, sauf comme une idée pour les questions connexes.

Questions connexes