Ton*_*ony 4 sql-server ssms view
当我使用设计视图创建或编辑查询时,SSMS 会无缘无故地为某些表创建别名 (TableName_1) 。更烦人的是,如果我在设计视图中打开现有查询,它也会这样做。换句话说,它改变了我的 SQL 代码!即使是简单的查询也有这个问题,例如:
SELECT
dbo.tblCalendar.id,
dbo.tblCalendar.title,
dbo.luCalendarType.typeName
FROM
dbo.luCalendarType RIGHT OUTER JOIN
dbo.tblCalendar ON dbo.luCalendarType.id = dbo.tblCalendar.type
Run Code Online (Sandbox Code Playgroud)
将成为:
SELECT
dbo.tblCalendar.id,
dbo.tblCalendar.title,
luCalendarType_1.typeName
FROM
dbo.luCalendarType AS luCalendarType_1 RIGHT OUTER JOIN
dbo.tblCalendar ON luCalendarType_1.id = dbo.tblCalendar.typeRun Code Online (Sandbox Code Playgroud)
有什么办法可以阻止 SSMS 改变我的 SQL 代码?
最好的选择是停止使用 SSMS 视图设计器。
通过坚持使用普通的旧查询窗口来创建或编辑视图,您将可以完全控制查询以及 Transact-SQL 中的常规练习。
此外,已知 SSMS 视图设计器有问题(请参阅使用设计功能查看时视图已损坏)或产生特殊语法1(请参阅视图设计器奇怪的连接语法)或鼓励已过时且现在具有误导性的语法(请参阅升级后的SQL Server 2000 数据库到 SQL Server 2008 的视图没有按列排序)。
因此,简而言之,从长远来看,如果没有视图设计器,您会过得更好。
1本身不一定是问题,但您不太熟悉的语法并不适合查询的可维护性。
| 归档时间: |
|
| 查看次数: |
1563 次 |
| 最近记录: |