web-dev-qa-db-fra.com

Quel est le SQL pour changer la longueur de champ d'une colonne de table dans SQL Server

Quel est le code SQL pour faire passer un champ de nvarchar(50) à nvarchar(250)

Lorsque j'essaie de le modifier via SQL Server Management Studio, cela ne me permet pas de le faire. J'ai donc décidé d'essayer SQL directement au lieu d'utiliser l'interface graphique.

21
leora
Alter table tblname ALTER Column colname nvarchar(250) [NOT] NULL

Si NULL/NOT NULL n'est pas spécifié, la colonne deviendra Nullable, quelle que soit la spécification d'origine.

49
Martin Smith
ALTER TABLE MyTable
ALTER COLUMN MyColumn varchar(NewSize)
9
Randy Minder

L'instruction ALTER TABLE

L'instruction ALTER TABLE permet d'ajouter, de supprimer ou de modifier des colonnes dans une table existante . SQL ALTER TABLE Syntaxe

Pour ajouter une colonne dans une table, utilisez la syntaxe suivante:

ALTER TABLE table_name
ADD column_name datatype

Pour supprimer une colonne d'une table, utilisez la syntaxe suivante (notez que certains systèmes de base de données n'autorisent pas la suppression d'une colonne):

ALTER TABLE table_name
DROP COLUMN column_name

Pour modifier le type de données d'une colonne dans une table, utilisez la syntaxe suivante:

SQL Server/MS Access:

ALTER TABLE table_name
ALTER COLUMN column_name datatype

Mon SQL/Oracle (version antérieure 10G):

ALTER TABLE nom_table MODIFY COLUMN type de données nom_colonne

Oracle 10G et ultérieur:

ALTER TABLE table_name
MODIFY column_name datatype
8
saravanan

C'est parfois plus sûr de vérifier si la table existe en premier lieu ...

IF COL_LENGTH('[tablename]','[tablecolumn]') IS NULL
        BEGIN
        ALTER TABLE tablename
            ALTER COLUMN [tablecolumn] 
            NVARCHAR(500)  
        END
2
Olaolu Ajose

Pour changer le type de données de plusieurs colonnes mais le même type de données

alter table employee modify (firstname varchar2(9),lastname varchar2(9),email varchar2(9));
-- Table altered.


alter table employee modify (firstname,lastname,email varchar2(9));
-- Table altered.
0
Dillip