Réponses:
ALTER TABLE [Employee]
ALTER COLUMN [Salary] NUMERIC(22,5) NOT NULL
NOT NULLelle doit être mentionnée dans la requête, sinon elle la définira NULLpar défaut. ALTER TABLE [Employee] ALTER COLUMN [Salary] NUMERIC(22,5) NOT NULL
alter table Employee alter column salary numeric(22,5)
ALTER TABLE [table_name] ALTER COLUMN [column_name] varchar(150)
L'exécution ALTER COLUMNsans mentionner d'attribut NOT NULLentraînera la modification de la colonne en nullable, si ce n'est déjà fait. Par conséquent, vous devez d'abord vérifier si la colonne est nullable et sinon, spécifier l'attribut NOT NULL. Vous pouvez également utiliser l'instruction suivante qui vérifie au préalable la valeur Null de la colonne et exécute la commande avec l'attribut approprié.
IF COLUMNPROPERTY(OBJECT_ID('Employee', 'U'), 'Salary', 'AllowsNull')=0
ALTER TABLE [Employee]
ALTER COLUMN [Salary] NUMERIC(22,5) NOT NULL
ELSE
ALTER TABLE [Employee]
ALTER COLUMN [Salary] NUMERIC(22,5) NULL
Sélectionnez le tableau -> Conception -> modifiez la valeur dans le type de données comme illustré dans la figure suivante.
Enregistrez la conception des tables.
Une approche intéressante peut être trouvée ici: Comment agrandir vos colonnes sans temps d'arrêt par spaghettidba
Si vous essayez d'agrandir cette colonne avec une simple commande «ALTER TABLE», vous devrez attendre que SQLServer passe par toutes les lignes et écrive le nouveau type de données
ALTER TABLE tab_name ALTER COLUMN col_name new_larger_data_type;Pour surmonter cet inconvénient, il existe une pilule d'agrandissement de colonne magique que votre table peut prendre, et elle s'appelle Row Compression. (...) Avec la compression de lignes, vos colonnes de taille fixe peuvent utiliser uniquement l'espace requis par le plus petit type de données où les données réelles tiennent.
Lorsque la table est compressée au ROWniveau, alors l' ALTER TABLE ALTER COLUMNopération de métadonnées est uniquement.