如何在 SQL Server 中重命名表和/或列时自动重命名键(“PK_”)和约束(“DF_”)?

问题描述 投票:0回答:2

如您所知,当我们设置 PK 和/或约束时,将自动为我们创建一个键/约束名称(

PK_...
DF_...
)。但是每当我重命名列名和/或表名时,这些键和约束都不会相应地自动重命名。

SQL 中是否有任何设置允许它自动执行?

sql-server constraints primary-key rename
2个回答
2
投票

AFAIK 没有设置。重命名列名和/或表名后,您必须使用

sp_rename
来重命名约束。

相关阅读:http://davidbrycehoward.com/archive/2011/01/naming-and-renaming-database-constraints/


0
投票

而不是一张表重命名查询

EXEC sp_rename 'OldName', 'NewName'

您可以获取重命名查询列表(针对表和约束):

declare
 @old nvarchar(100),
 @new nvarchar(100)
set @old = 'OldName'
set @new = 'NewName'
select 'EXEC sp_rename ''' + name + ''', ''' + 
  REPLACE(name, @old, @new) + ''''
 from sys.objects 
 where name like '%' + @old + '%'

然后执行您在此列表中收到的每个查询。

这对于重命名 MSSQL 中的表非常有用!

© www.soinside.com 2019 - 2024. All rights reserved.