[英]Get the names of all the tables and the views in a single SQL query for SQL Server?
[英]Consequences of changing names of tables and views in SQL Server
在我们的小型企业中,我们正在考虑从名称开始对数据库进行标准化和重组。
问题在于这些表和视图已在Excel电子表格中的许多数据透视表中使用。 我的问题是,SQL Server中的名称更改对Excel有什么后果? 我们是否需要在数据透视表中重新制作或更新我们的连接?
一种半合理的方法是重命名表,然后使用刚从新命名的表中选择的旧名称1创建新视图。 (并且类似地用于重命名视图)。 当将这些替换视图从架构中删除时,您将以“临时”安排的形式进行操作,并带有约定的日期。
这样,您就可以在更长的时间内逐步进行电子表格的更新,并且不会使查询无效。
(通常,您应该能够将表替换为视图或将视图替换为表,并且不会使查询无效。如果您需要支持的查询包括INSERT,UPDATE或DELETE,则这在实践中会比较棘手,因为触发器可能会在视图上是必需的)
1或如安德鲁(Andrew)在评论中建议的那样使用同义词。 但这仅在表名称更改而不是列名称更改的情况下起作用。
您面临一个问题。 显然,如果您更改数据库中表的名称,则会破坏使用这些名称的外部应用程序(例如Excel)。
建议? 更改应用程序逻辑以使用视图而不是表。 然后,您可以更改表结构以执行所需的操作,并调整视图以反映新的数据结构。
请注意,您在数据库中也可能会遇到其他问题,尤其是在使用动态SQL时。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.