J'ai un champ de code postal dans une database que je viens de prendre en charge. Auparavant, il était défini comme un champ numérique avec une précision de 18, mais j'essaie de le convertir en varchar (10).
J'ai besoin de faire ce changement parce que les champs linq arrivent en décimal et causent des problèmes et je veux changer les champs linq pour être simplement des strings.
J'ai essayé ceci dans le directeur d'entreprise de server de SQL mais j'obtiens cette erreur, disant:
que la table devra être abandonnée et recréée. vous avez apporté des modifications à une table qui ne peut pas être recréée ou activez l'option pour empêcher l'logging des modifications nécessitant une table de recréation
Aucune suggestion?
Utilisez-vous MS-SQL 2008? Les modifications nécessitant la reconstruction de la table sont bloquées par défaut.
Cliquez sur devises-> Options, puis sur Designers. Décochez "Empêcher les modifications nécessitant une recréation de table".
Ensuite, vous pouvez changer votre colonne en utilisant le concepteur.
Captures d'écran sur la façon de le faire:
Pour activer cette option dans SQL Management Studio décochez l'option suivante …
devises / Options / Concepteurs / Concepteurs de tables et de bases de données / Empêcher les modifications nécessitant une recréation de table
Vous pouvez également exécuter une instruction alter pour changer votre type de données (à condition que toutes vos données tiennent dans une colonne varchar (10)).
ALTER TABLE MyTable ALTER COLUMN MyZipCodeColumn VARCHAR(10)