我最近发现自己在开发片段中使用了一些相当冗长的名称和视图,这让我想知道是否可以为对象创建客户端/数据库/服务器级别别。
比如说我有一个名为 dbo.vAlphaBetaGammaDelta 的视图。有没有办法(有或没有智能感知)创建一个名为 dbo.vABGD 的引用?
如果没有,除非在表格架构发生变化时需要进行维护,否则是否会出现创建视图或单个表格视图的任何缺陷?
我应该注意,这些别名/视图不会用于其他对象,而是用于在日常故障排除和钻研xD时缓解和预防腕管
答案 0 :(得分:2)
SQL Server允许创建同义词。这似乎是你在寻找的:http://msdn.microsoft.com/en-us/library/ms177544.aspx
然而,正如@MitchWheat所说。这似乎走向了错误的方向。有一些非常好的SSMS插件可以自动完成长对象名称(例如SQL Prompt)。顺便提一下,这些产品在同义词上有问题......
答案 1 :(得分:0)
在很多情况下,您希望拥有同义词。 让我说一个刚开始: 您有一个明确定义的表的假设名称:GlobalStatisticalRecord。 SQL和其他地方的数百行代码和对象(键,索引等)都是指这个表名。 使用5年后,缩写GSR不仅适用于技术人员,也适用于商业用户。因此,再次强调,GSR现在比GlobalStatisticalRecord更容易识别。但是,对于进入技术团队的新人来说,最好将名称GlobalStatisticalRecord保留为表名,因为它很好地描述了表的内容。现在,当编写一个快速的 adhoc 查询时 - 这可能不是您选择的所有智能感知功能选择的工具 - 那么这些别名真的可以节省您的时间(以及“生活”时间)凌晨2点,当你疯狂地试图诊断生产问题时)。 如果你从未遇到需要的情况,请不要认为没有。 我强调了 adhoc 形容词,因为我同意在永久查询(存储过程等)中,出于您指出的原因,建议使用完整的表名。