有没有一种方法可以在一个 SQL 查询中修改多个列?例如,我想在单个表中更改多个列的列定义,如下所示。我正在使用 SQL Server 2012。
ALTER TABLE [Department]
ALTER COLUMN [DepartmentName] VARCHAR(200) NULL ,
[ProjectManagerName] VARCHAR(200) NULL ,
[AccountManagerName] VARCHAR(200) NULL
有没有一种方法可以在一个 SQL 查询中修改多个列?例如,我想在单个表中更改多个列的列定义,如下所示。我正在使用 SQL Server 2012。
ALTER TABLE [Department]
ALTER COLUMN [DepartmentName] VARCHAR(200) NULL ,
[ProjectManagerName] VARCHAR(200) NULL ,
[AccountManagerName] VARCHAR(200) NULL
一次性修改多个列 - 不可能。
您可以创建一个临时表,带有您编辑过的列,将数据从源表复制到临时表,删除源表并重命名临时表。
一张表不能同时进行多个ALTER列操作。
您需要逐个进行更改,例如:
ALTER TABLE Department ALTER COLUMN [DepartmentName] VARCHAR(200) NULL;
ALTER TABLE Department ALTER COLUMN [ProjectManagerName] VARCHAR(200) NULL;
ALTER TABLE Department ALTER COLUMN [ProjectManagerName] VARCHAR(200) NULL;
ALTER TABLE Department ALTER COLUMN [AccountManagerName] VARCHAR(200) NULL;