3

我最近发现自己对开发中涉及的表和视图使用了一些相当长的名称,这让我想知道是否可以为对象创建客户端/数据库/服务器级别的别名。

例如,我有一个名为dbo.vAlphaBetaGammaDelta的视图。有没有办法(有或没有 Intellisense)创建一个名为dbo.vABGD的引用?

如果没有,如果/当表模式发生变化时,除了必要的维护之外,创建视图或单个表的视图是否会有任何问题?

我应该注意,这些别名/视图不会用于其他对象,而是用于在日常故障排除和钻探过程中缓解和预防腕管 xD

4

2 回答 2

2

SQL Server 允许创建同义词。这似乎是您正在寻找的:http: //msdn.microsoft.com/en-us/library/ms177544.aspx

但是,正如@MitchWheat 提到的那样。这似乎朝着错误的方向发展。有一些很好的 SSMS 插件可以提供长对象名称的自动补全(例如 SQL 提示)。顺便说一句,这些产品有同义词的问题......

于 2013-02-16T03:28:26.467 回答
2

在很多情况下,您希望拥有同义词。让我先声明一个:您有一个明确定义的假设表名称:GlobalStatisticalRecord。SQL 和其他地方的数百行代码和对象(键、索引等)都引用了这个表名。经过 5 年的使用,缩写​​ GSR 不仅在技术人员中被习惯,而且在业务用户中也被习惯了。因此,再次强调,GSR 现在比 GlobalStatisticalRecord 更容易识别。但是,对于刚加入技术团队的新人,最好将名称 GlobalStatisticalRecord 保留为表名,因为它很好地描述了表的全部内容。现在,当写一个快速的临时查询 - 这可能不是来自您选择的具有您习惯的所有 Intellisense 功能的工具 - 那么这些别名确实可以节省您的时间(以及在凌晨 2 点疯狂尝试诊断生产问题时的“生命”) )。请,如果您从来没有遇到过需要这个的案例,请不要假设没有。我强调了adhoc形容词,因为我同意在永久查询(存储过程等)中,出于您指出的原因,建议使用完整的表名。

于 2016-12-09T15:02:24.313 回答