Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 19/06/2011 20:27:33
- K-LiBR3
- Membre
Domaine de definition pour données de type text
Bonjour,
J'aimerai savoir comment donnée un domaine de définition à une de mes données de type text, de ce genre :
CREATE TABLE thirdLevel
(
id bigserial primary key,
name varchar(255) NOT NULL,
type varchar(255) NOT NULL DEFAULT 'info' CHECK type = 'info' OR type = 'exemple' OR type = 'lien'
);
merci d'avance.
Dernière modification par K-LiBR3 (19/06/2011 20:28:36)
Hors ligne
#2 19/06/2011 20:33:45
- SQLpro
- Membre
Re : Domaine de definition pour données de type text
Il faut utiliser une contrainte CHECK !
CREATE TABLE thirdLevel
(
id bigserial primary key,
name varchar(255) NOT NULL,
type varchar(255) NOT NULL DEFAULT 'info' CHECK (type IN ('info', 'exemple', type = 'lien'))
);
A lire sur les contraintes CHECK : http://sqlpro.developpez.com/cours/sqla … ie2#L7.1.6
Et aussi : http://sqlpro.developpez.com/contrainte … es_SQL.pdf § 4
Au passage nommer une colonne type et même name est particulièrement mauvais... type étant un mot clef de SQL, vous allez au devant de problèmes...
A +
Dernière modification par SQLpro (19/06/2011 20:35:07)
Frédéric Brouard, alias SQLpro, ARCHITECTE DE DONNÉES, Expert langage SQL
Le site sur les SGBD relationnel et langage SQL : http://sqlpro.developpez.com/
Modélisation de données, conseil, expertise, audit, optimisation, tuning, formation
* * * * * Enseignant CNAM PACA, ISEN Toulon, CESI Aix en Provence * * * * *
Hors ligne
#3 19/06/2011 21:32:55
- K-LiBR3
- Membre
Re : Domaine de definition pour données de type text
merci pour la solution et ton conseil, j'ai changé le nom 'type' en 'contentType' !
Hors ligne
#4 20/06/2011 09:06:20
- Marc Cousin
- Membre
Re : Domaine de definition pour données de type text
Au passage, évitez la casse dans les noms des colonnes. Cela vous évitera quelques soucis plus tard.
Dernière modification par Marc Cousin (20/06/2011 09:06:47)
Marc.
Hors ligne
Pages : 1