ssms2014和ssms2016版本錯誤定位的區別

偶爾對比起2016如下的版本(好比ssms2014),ssms2016有一個小地方有區別。就是報錯的行號有區別sql

舉個例子,下面一樣的語句在ssms2014和ssms2016裏面運行。就是以下的效果spa

 1 CREATE PROCEDURE T111
 2 AS 
 3 SELECT GETDATE()
 4 GO
 5 
 6 
 7 CREATE PROCEDURE T112
 8 AS 
 9 SELECT GETDATE() AS 
10 GO
11 
12 
13 
14 
15 DECLARE @xml = '
16 <Root>
17     <Nr></Nr>
18     <T>
19 </Root>
20 '

顯而易見,這裏的行9和 xml 變量的定義都是有問題的。因此ssms2014裏面直接給出 code

消息 102,級別 15,狀態 1,過程 T112,第 9 行
「AS」附近有語法錯誤。
消息 102,級別 15,狀態 1,第 15 行
「=」附近有語法錯誤。

這樣的提示錯誤,徹底沒有問題。直接雙擊666就能夠定位到錯誤的位置。xml

到了ssms2016的版本,報錯的信息是這樣的blog

消息 102,級別 15,狀態 1,過程 T112,行 5 [批起始行 4]
「AS」附近有語法錯誤。
消息 102,級別 15,狀態 1,第 15 行
「=」附近有語法錯誤。

注意第一行 class

消息 102,級別 15,狀態 1,過程 T112,行 5 [批起始行 4] 這裏,是定位到本批次的行。並非整個查詢頁面所在的行。而且看回第二個錯誤消息,也是定位到行15,也就是說,針對變量的定義顯示的方式不變,變化的是跟go有關的存儲過程定位。怎麼說呢。這個變化感受一半一半吧,雖然都是能夠雙擊定位到具體位置。雖然只是一個小小的區別。可是也跟你們分享一下嘛~
相關文章
相關標籤/搜索