为什么在SQL Server中重命名表也会更新视图?

时间:2019-05-06 06:51:27

标签: sql-server ddl

创建了一个引用tableA的视图。将tableA重命名为tableA_old并创建了一个新的tableA。现在,该视图引用了tableA_old。这是怎么发生的?

这是SQL Server 2016(以SQL Server 2008模式运行)

1 个答案:

答案 0 :(得分:1)

我无法重现您的问题。我只是制作了一个小型测试数据库,创建了一个表和一个视图,重命名了该表并使用原始名称创建了一个新数据库,该视图仅从新表中选择了数据。如预期的那样。 “以SQL Server 2008模式运行”是什么意思?您的意思是您使用的数据库的兼容性级别吗?或者是其他东西?但是我认为这没关系;据我所知,此行为在所有版本的SQL Server中都应该相同...非常奇怪。

您真的确定视图引用了旧表吗?您可能希望将视图脚本编写到新的查询编辑器窗口中,以确保...如果新表包含的数据与旧表相同,则仅使用SELECT查询就很难看到不同之处。