sql - 重命名表列并将其传播到依赖 View

标签 sql sql-server

如果我们想把MyColumnName的名字改成MyAlteredColumnName...

...我们有一个 SQL Server 2008 表,如下所示:

MyTable
  MyColumnName

以及引用基础列的 View :

CREATE VIEW MyDependentView WITH SCHEMABINDING
AS
SELECT ..., MyTable.MyColumnName

我们最终遵循这个程序:

  1. 删除 View
  2. 将 MyTable.MyColumnName 更改为 MyTable.MyAlteredColumnName
  3. 使用对 MyAlteredColumnName 的引用重新创建 View

我们使用迁移器 dot net 来做到这一点。

有没有更好的方法来做到这一点?是否存在会更改 View 列名称的 T-SQL?或者 SQL Server 2008 中是否支持自动将列绑定(bind)在一起?

最佳答案

不使用第三方工具,这是唯一的方法之一。您显然也可以使用 ALTER VIEW 而不是 DROP 和 CREATE。

需要注意的是,Red-Gate 制作了一个名为 SQL Refactor 的工具。这将使这种变化自动化(不,我不为他们工作)。我敢肯定还有其他类似的数据库重构工具。

关于sql - 重命名表列并将其传播到依赖 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3589276/

相关文章:

SQL 将 č、ć、ž 替换为字母 c、z

c# - 从 SqlDataReader 访问命令对象

c# - 将 SQL 保留在存储过程与代码中的优缺点是什么

sql-server - 是否可以编写包含一对多关系的数据库 View ?

mysql - 外连接与搜索以及分组依据相结合的问题

sql - 为什么在更改 SQL 表时收到语法错误

sql - 如何在mysql中基于类似连接2个表

mysql - 从数据透视表返回单行

sql - 如何使用 SQL Server 查询从单词中分离字符和数字

sql-server - 如何在T-SQL中进行Fold?