Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 27/12/2016 16:56:34
- doms
- Membre
Changer un domain
Bonjour
J'ai une base de donnée pour laquelle les tables ont été définies en utilisant des domain. Plusieurs tables utilisent le domain suivant:
-- dom_text
create domain dom_text as varchar(40);
Comment je fais pour changer ce domain et l'étendre à 80 charactères, donc changer le dom_text en varchar(80)?
J'ai essayé différent ALTER DOMAIN dom_text, mais rien n'y fait.
Ou est-ce qu'il serait possible de changer tous les champs de type dom_text en un nouveau domaine?
Merci pour l'aide.
Hors ligne
#2 27/12/2016 17:23:25
- Marc Cousin
- Membre
Re : Changer un domain
Oui, on ne peut pas changer le «type», dans les domaines. Uniquement la contrainte check…
Pour faire ce que vous voulez faire avec un domain, le mieux aurait été de le déclarer de type text, avec une contrainte check sur la longueur.
Pour ce qui est de changer tous les champs d'un coup, il va falloir le faire table par table… ce ne devrait pas être très dur à générer à partir des tables système.
Marc.
Hors ligne
#3 27/12/2016 17:47:44
- doms
- Membre
Re : Changer un domain
Ok, merci. J'ai trouvé l'info dans la table système information_schema.columns... quelques 1600 champs à changer...
Hors ligne
#4 27/12/2016 17:52:20
- Marc Cousin
- Membre
Re : Changer un domain
Ça peut valoir le coup d'essayer de faire tous les alter d'une même table en une seule fois, histoire de n'avoir qu'une seule réécriture de la table si le moteur décide d'en faire une.
Marc.
Hors ligne
Pages : 1