J'essaie de changer une colonne d'un varchar(50)
à un nvarchar(200)
. Quelle est la commande SQL pour modifier cette table?
ALTER TABLE TableName
ALTER COLUMN ColumnName NVARCHAR(200) [NULL | NOT NULL]
EDIT Comme indiqué, NULL/NOT NULL aurait dû être spécifié, voir réponse de Rob également.
N'oubliez pas la nullité.
ALTER TABLE <schemaName>.<tableName>
ALTER COLUMN <columnName> nvarchar(200) [NULL|NOT NULL]
Utilisez l'instruction Alter table.
Alter table TableName Alter Column ColumnName nvarchar(100)
La syntaxe pour modifier une colonne dans une table existante dans SQL Server (Transact-SQL) est la suivante:
ALTER TABLE table_name
ALTER COLUMN column_name column_type;
Par exemple:
ALTER TABLE employees
ALTER COLUMN last_name VARCHAR(75) NOT NULL;
Cet exemple ALTER TABLE
de SQL Server modifie la colonne appelée last_name
pour qu’elle soit un type de données de VARCHAR(75)
et force la colonne à ne pas autoriser les valeurs NULL.
voir ici
Tant que vous augmentez la taille de votre varchar, tout va bien. Selon la référence Alter Table :
Réduire la précision ou l’échelle d’une colonne peut entraîner une troncature des données.
Pour changer de type de données
alter table table_name
alter column column_name datatype [NULL|NOT NULL]
Pour changer la clé primaire
ALTER TABLE table_name
ADD CONSTRAINT PK_MyTable PRIMARY KEY (column_name)