Sql server 2008 更改包含1000多条记录的SQL Server表中的列名

Sql server 2008 更改包含1000多条记录的SQL Server表中的列名,sql-server-2008,Sql Server 2008,我有一个列,想用query更改它的名称,但不想更改其他任何内容。最好的方法是什么。您可以使用 EXEC sp_rename 'myColumn', 'myColumn2', 'COLUMN' sp_RENAME 'TableName.[Your_Old_ColumnName]' , '[Your_New_ColumnName]', 'COLUMN' 注意:重命名列名将中断您的查询、存储过程等。您可以使用 sp_RENAME 'TableName.[Your_Old_ColumnName]'

我有一个列,想用query更改它的名称,但不想更改其他任何内容。最好的方法是什么。

您可以使用

 EXEC sp_rename 'myColumn', 'myColumn2', 'COLUMN'
sp_RENAME 'TableName.[Your_Old_ColumnName]' , '[Your_New_ColumnName]', 'COLUMN'
注意:重命名列名将中断您的查询、存储过程等。

您可以使用

sp_RENAME 'TableName.[Your_Old_ColumnName]' , '[Your_New_ColumnName]', 'COLUMN'

注意:重命名列名将中断您的查询、存储过程等。

您可以使用系统存储过程:

这是一个完整的样本,包含您的1000条记录:

create table dbo.Test(ID int IDENTITY(1,1), OldName varchar(10));

declare @i int;
SET @i = 0;
WHILE @i < 1000
BEGIN
   SET @i = @i + 1;
   INSERT INTO dbo.Test Values(CAST(@i AS varchar(4))+ '. record');
END;

SELECT * FROM dbo.Test;

EXEC sp_rename 'dbo.Test.OldName', 'NewName', 'COLUMN';  

SELECT * FROM dbo.Test;

DROP TABLE dbo.Test;

您可以使用系统存储过程:

这是一个完整的样本,包含您的1000条记录:

create table dbo.Test(ID int IDENTITY(1,1), OldName varchar(10));

declare @i int;
SET @i = 0;
WHILE @i < 1000
BEGIN
   SET @i = @i + 1;
   INSERT INTO dbo.Test Values(CAST(@i AS varchar(4))+ '. record');
END;

SELECT * FROM dbo.Test;

EXEC sp_rename 'dbo.Test.OldName', 'NewName', 'COLUMN';  

SELECT * FROM dbo.Test;

DROP TABLE dbo.Test;

调用存储过程应该是最简单、最快的方法

USE AdventureWorks2008R2;
GO
EXEC sp_rename 'Sales.SalesTerritory.TerritoryID', 'TerrID', 'COLUMN';
GO

调用存储过程应该是最简单、最快的方法

USE AdventureWorks2008R2;
GO
EXEC sp_rename 'Sales.SalesTerritory.TerritoryID', 'TerrID', 'COLUMN';
GO