强制重命名表列名(案例拼写)

时间:2018-01-19 15:44:41

标签: sql-server tsql

我们希望将mssql db中的旧大写字段名重命名为“Pascal-Case”。

我们的问题是,这些列存在很多依赖关系。

例如:

sp_RENAME 'Object.OBJECTID' , 'ObjectID', 'COLUMN'

执行上述SQL时,将返回以下错误:

  

无法重命名对象'Object.OBJECTID',因为该对象参与强制依赖。

因为我们只是改变了角色的情况,所以我们并没有真正打破deps。有没有办法强制进行此操作?

1 个答案:

答案 0 :(得分:1)

您有两种方法可以解决此问题:

手动方法

  1. 使用SQL Server Management Studio,查看依赖项 要重命名的对象
  2. 使用新名称更新从属对象的DDL脚本 重命名的对象
  3. 分别对所有依赖对象重复步骤#1和#2
  4. 如果要重命名多个对象,请重复步骤1到3
  5. 自动方法

    您可以简单地使用第三方应用程序,例如ApexSQL,并使用它的Safe Rename功能。(Watch the tutorial video here)。您也可以使用RedGate' Smart Rename胎儿。(Read more here