J'utilise SQL Server 2008 et j'ai besoin d'agrandir un champ VARCHAR, de (200 à 1200) sur une table d'environ 500 000 lignes. J'ai besoin de savoir s'il existe des problèmes auxquels je n'ai pas pensé.
Je vais utiliser cette instruction TSQL :
ALTER TABLE MyTable
ALTER COLUMN [MyColumn] VARCHAR(1200)
Je l'ai déjà essayé sur une copie des données et cette déclaration n'a pas eu d'effets néfastes que j'ai pu constater.
Y a-t-il des problèmes que je n'ai pas envisagés ?
D'ailleurs, la colonne n'est pas indexée.
1 votes
@nonnb : c'est une idée terrible. stackoverflow.com/q/2091284/27535
0 votes
@gbn un avis sur la récente réponse de Justin à cette question ? Elle semble être en désaccord avec la vôtre.
0 votes
@AakashM : il a raison au sujet du stockage mais c'est une surcharge, pas une optimisation. Lisez maintenant ceci stackoverflow.com/q/2009694/27535
0 votes
@gbn - bon point, tout comme l'observation de Martin Smith sur l'indexation. Retiré.
2 votes
Il s'avère qu'à la fin, il y avait un gotcha ! Le champ était indexé, et quand quelqu'un a essayé d'entrer une entrée plus grande que 900b, il a échoué ! Soyez avertis.