![]() |
1
5
如果不使用第三方工具,这是唯一的方法之一。显然,您也可以使用alter-view而不是drop-and-create。 应该注意的是,红门制造了一个叫做 SQL Refactor 这将使这种变化自动化(不,我不为他们工作)。我确信还有其他类似的数据库重构工具。 |
![]() |
2
2
使用 sp_refreshview :
如果要刷新所有视图,则必须循环访问这些视图,这意味着动态SQL。 如果将它们分层(视图依赖于另一个视图-坏),则必须首先刷新父视图… |
![]() |
3
2
如果是
否则,必须重新定义视图。对旧列名的任何显式引用现在都将引发错误。 啊,还有一个选择:
这是一个黑客行为,而且很危险,因为存储的视图定义现在将与视图元数据不同步。你已经把数据库中多余的计算列乱丢了。 但是它会起作用(直到你忘记你做了什么,或者其他人必须维护系统,事情开始神秘地破裂)。 |
![]() |
4
0
我用第三方工具来做这个,它还没有让我失败。这是apexsql重构,下面是操作指南 |
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 5 月前 |
![]() |
Marc Guillot · 记录值时忽略冲突 5 月前 |
![]() |
Fachry Dzaky · 正确使用ROW_NUMBER 6 月前 |
![]() |
TriumphTruth · 从满足特定条件的数据集中选择1行 6 月前 |