如果我们想把MyColumnName
的名字改成MyAlteredColumnName
...
...我们有一个 SQL Server 2008 表,如下所示:
MyTable
MyColumnName
以及引用基础列的 View :
CREATE VIEW MyDependentView WITH SCHEMABINDING
AS
SELECT ..., MyTable.MyColumnName
我们最终遵循这个程序:
- 删除 View
- 将 MyTable.MyColumnName 更改为 MyTable.MyAlteredColumnName
- 使用对 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/