• ssms2014和ssms2016版本错误定位的区别


    偶尔对比起2016以下的版本(比如ssms2014),ssms2016有一个小地方有区别。就是报错的行号有区别

    举个例子,下面同样的语句在ssms2014和ssms2016里面运行。就是如下的效果

     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里面直接给出 

    消息 102,级别 15,状态 1,过程 T112,第 9 行
    “AS”附近有语法错误。
    消息 102,级别 15,状态 1,第 15 行
    “=”附近有语法错误。

    这样的提示错误,完全没有问题。直接双击666就可以定位到错误的位置。

    到了ssms2016的版本,报错的信息是这样的

    消息 102,级别 15,状态 1,过程 T112,行 5 [批起始行 4]
    “AS”附近有语法错误。
    消息 102,级别 15,状态 1,第 15 行
    “=”附近有语法错误。
    

    注意第一行 

    消息 102,级别 15,状态 1,过程 T112,行 5 [批起始行 4] 这里,是定位到本批次的行。并不是整个查询页面所在的行。

    并且看回第二个错误消息,也是定位到行15,也就是说,针对变量的定义显示的方式不变,变化的是跟go有关的存储过程定位。
    怎么说呢。这个变化感觉一半一半吧,虽然都是可以双击定位到具体位置。

    虽然只是一个小小的区别。但是也跟大家分享一下嘛~
  • 相关阅读:
    设置cookie,读取cookie案例
    npm常用命令及版本号浅析
    nrm安装与使用
    ES6解构赋值
    nodemon 基本配置与使用
    nodejs开发辅助工具nodemon
    Node自动重启工具 nodemon
    深入浅出Object.defineProperty()
    js原生缓慢返回顶部函数封装
    The linux command 之权限
  • 原文地址:https://www.cnblogs.com/Gin-23333/p/8431593.html
Copyright © 2020-2023  润新知