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

SPK*_*Kan 5 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 
Run Code Online (Sandbox Code Playgroud)

Sta*_*vas 12

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

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


Rah*_*thi 5

这是不可能的,为表做多的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; 
Run Code Online (Sandbox Code Playgroud)