Go在Sqlserver中的作用

Sql_server中的Go标识

在写Sql脚本时总是会遇到go标识,也没有个明确的解释。

官方解释

Go: 官方说法是:GO只是SQL Server管理器(SSMS)中用来提交T-SQL语句的一个标志。
这几个字我都认识,但是绷组合到一起就感觉说的不是人话。

实际的作用

  1. 一个(段)脚本结束的标识,下面的内容不再与上面的内容有关系。相当于是一个新会话。
    示例:

      DECLARE @x INT;
      SET @x = 2;
      SELECT @x;
       
      ******************
      输出结果: 2
       
      ##### 添加Go
       
      DECLARE @x INT;
      SET @x = 2;
      Go
      SELECT @x;
       
      ******************
      输出结果:
      Error: Procedure , Line 0
      必须声明标量变量 "@x"。
       

    这就说明,添加Go后,后面的 @x变量 不再是前面声明的变量,Go后面相当于一个新的会话。

  2. 设置前面脚本提交的次数。

    示例:

      SELECT 2;
      Go 2;
       
      ******************
      输出结果:
       
      2
       
      2
      (注意: 仅在SMSS工具中有效。)
       
       

    GO 语句后面跟数字代表提交的次数。

总结:
Go有两个作用,1. 作为结束标识。 2. 设置提交次数(仅smss中有效)。
GO不是标准SQL语句,甚至不是T-SQL语句。它只是SQL Server管理器(SSMS)中用来提交T-SQL语句的一个标志。你可以在SSMS中任意指定这个提交标志。SSMS->工具->选项->查询执行->SQL Server->批分隔符中指定这个提交标志。

posted on 2024-04-17 14:23  itjeff  阅读(165)  评论(0编辑  收藏  举报

导航