我有一个SQL Server
正在运行的数据库,SSMS
其中包含约 75 个表。我刚刚意识到每个表都有一个modfiedBy
列标题,它拼写错误,应该拼写为modifiedBy
.
有没有办法通过编程方式更改(ALTER
??)所有这些列标题SQL
,这样我就不必右键单击->设计并在每个表上手动重新拼写它?任何人都可以提供一个可能有效的例子吗?
我有一个SQL Server
正在运行的数据库,SSMS
其中包含约 75 个表。我刚刚意识到每个表都有一个modfiedBy
列标题,它拼写错误,应该拼写为modifiedBy
.
有没有办法通过编程方式更改(ALTER
??)所有这些列标题SQL
,这样我就不必右键单击->设计并在每个表上手动重新拼写它?任何人都可以提供一个可能有效的例子吗?
为此,您需要一个动态 SQL 解决方案。这应该可以完成工作;只要它不破坏任何约束,键。它也不会更新任何引用旧名称的对象。
USE YourDatabase;
GO
DECLARE @SQL nvarchar(MAX);
SET @SQL = STUFF((SELECT NCHAR(10) +
N'EXEC sp_rename ' + QUOTENAME(s.[name] + N'.' + t.[name] + N'.' + c.[name],N'''') + N',''modifiedBy'',''COLUMN'';'
FROM sys.schemas s
JOIN sys.tables t ON s.schema_id = t.schema_id
JOIN sys.columns c ON t.object_id = c.object_id
WHERE c.[name] = N'modfiedBy'
FOR XML PATH(N'')),1,1,N'');
PRINT @SQL;
EXEC sp_executesql @SQL;