【发布时间】:2019-05-06 06:51:27
【问题描述】:
创建了一个引用 tableA 的视图。将 tableA 重命名为 tableA_old 并创建了一个新的 tableA。该视图现在正在引用 tableA_old。这是怎么发生的?
是 SQL Server 2016(以 SQL Server 2008 模式运行)
【问题讨论】:
标签: sql-server ddl
创建了一个引用 tableA 的视图。将 tableA 重命名为 tableA_old 并创建了一个新的 tableA。该视图现在正在引用 tableA_old。这是怎么发生的?
是 SQL Server 2016(以 SQL Server 2008 模式运行)
【问题讨论】:
标签: sql-server ddl
我无法重现您的问题。我只是做了一个小的测试数据库,创建了一个表和一个视图,重命名了表并使用原始名称创建了一个新的,视图只是从新表中选择数据。正如预期的那样。 “在 SQL Server 2008 模式下运行”是什么意思?你的意思是你正在使用的数据库的兼容性级别吗?或者是其他东西?但我认为这并不重要。据我所知,这种行为在所有版本的 SQL Server 中都应该是相同的......非常奇怪。
您确定视图引用了旧表吗?您可能希望将视图编写到新的查询编辑器窗口以确保...如果您的新表包含与旧表相同的数据,则仅使用 SELECT 查询很难看出差异。
【讨论】: