Création de domaines sous Oracle

Fermé
Manuella - 9 avril 2002 à 15:22
 Manuella - 12 avril 2002 à 09:17
Bonjour,
Quelqu'un pourrait-il me rappeler comment on crée des domaines (listes de valeurs qui ne changent pas (ex: OUI/NON, mois de l'année,...)) sous Oracle, enfin plutôt sous SQL*Plus ?
Merci d'avance.
A voir également:

3 réponses

pour un domaine vaste voici la solution conseillée :

-ce n'est qu'un exemple -

CREATE DOMAIN mois varchar(9)
CONSTRAINT bon_mois
CHECK ( VALUES IN ('janvier','février','mars',........))

maintenant tu peux créer ta tables ou tes tables en te basant sur le domaine que tu as défini

CREATE TABLE T_1 (
T_1_id ............ INT ,
T_1_nom ........ varchar(20),
.
.
.
T_1_mois........ mois , <------- utilisation du domaine
...

)

@+
zeus
0
Merci beaucoup !
Je vais essayer ça de ce pas...
0
Zut de zut ça marche pas, j'ai une erreur "Commande CREATE non valide".

Merci quand même Zeus.

Si quelqu'un a une autre solution...
0
là j'ai pas oracle sous la main mais essaye ceci :

on va simplifier la "chose"

CREATE DOMAIN mois AS varchar(9)
CHECK ( VALUES IN ('janvier','février','mars',........))
0
J'ai essayé cette nouvelle écriture mais j'ai toujours le même message d'erreur.
Apparemment il ne connaît pas le mot DOMAIN ou alors il ne faut pas passer par un CREATE.
Ne serait-il pas plus simple de créer un type utilisateur ? ou une collection ?

A bientôt...
0
tu as raison je viens de me réinstaller oracle
pourtant j'étais sûr que cela était possible avec avec oracle
la syntaxe fonctionne pourtant avec sybase et interbase (avec quelques petites différences)


bon là cela doit fonctionner mais le probléme est que l'on perd l'avantage de la définition de DOMAINE ... et un sacré avantage !!! :

create table mois (
mois VARCHAR(15) CONSTRAINT bon_mois CHECK (mois IN ('janvier','fev'))
);


avec la création de type utilisateur tu aurais comme avantage la possibilité de réutiliser ton nouveau type (comme j'ai essayé de te le démontrer avec les domaines )

mais ta question était : est-ce plus simple ?
je sais pas j'ai jamais utilisé la création de type
mais là je te renvoie à cette page :
http://www.laltruiste.com/courssql/type_creation.html
0
Merci infiniment pour tes précieux conseils Zeus !

Mon objectif en créant un domaine était de ne pas créer une nouvelle table donc je vais plutôt essayer les types.
Je vais aller jeter un coup d'oeil sur le lien, ça a l'air bien comme site...
Encore merci pour le tuyau.

Manuella
0