修改单个Alter Table查询中的多个列

时间:2016-05-11 12:31:36

标签: sql-server sql-server-2008

有没有办法在一个SQL查询中修改多个列?例如,我想更改单个表中多列的列定义,如下所示。我正在使用SQL Server 2012。

ALTER TABLE [Department]     
ALTER COLUMN [DepartmentName] VARCHAR(200) NULL ,
[ProjectManagerName] VARCHAR(200) NULL ,
[AccountManagerName] VARCHAR(200) NULL 

2 个答案:

答案 0 :(得分:11)

一次改变多个列 - 不可能。

您可以使用已编辑的列创建Temp表,将数据从源表复制到临时表,删除源表并重命名临时表。

答案 1 :(得分:4)

为表格执行多个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;