Go在Sqlserver脚本中有鸟用,mssql

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 @ 2022-02-18 16:06  看不见的R  阅读(327)  评论(0编辑  收藏  举报