Je suis sous Interbase 5.6 et je voudrais modifier un champs pour qu'il passe d'un Char(30) à un char(100) sans devoir a supprimer la ligne pour la recréér, quelle requête dois-je utiliser ?
Je suis sous Interbase 5.6 et je voudrais modifier un champs pour qu'il passe d'un Char(30) à un char(100) sans devoir a supprimer la ligne pour la recréér, quelle requête dois-je utiliser ?
Qq chose comme
Tu risques de rencontrer un souci SI:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ALTER TABLE matable ALTER macolonne= CHAR(100)
- la colonne est FK d'une autre table
- la colonne est indexée
Si c'est le cas, il faut commencer par supprimer ces différentes contraintes.
essai ceci, mais je ne sais pas si cela fonctionne avec ib5.6 (cela fonctionne en fb 1.5)
à défaut, construire une colonne temporaire y transférer le contenu, détruire la colonne en quesqtion, la reconstruire, retransférer le contenu et détruire la colonne temporaire...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 alter table MaTable alter MonChamp type varchar(100);![]()
tout ceci à peu (les 2 solutions) de chance de fonctionner correctement si la colonne et question et une clé primaire ou une colonne indexée et/ou une ou plusieurs procédures stockées/triggers y sont attachés.
Partager