zoukankan      html  css  js  c++  java
  • SQL GO命令

    SQL GO命令

    SQL Server提供的命令不是Transact-SQL语句,但可以由sqlcmd和osql实用程序以及SQLServerManagementStudio代码编辑器识别。这些命令可用于促进批处理和脚本的可读性和执行。

    GO向SQL Server实用程序发出一批Transact-SQL语句的结束信号。

    语法:

    GO [count]  

    参数说明:

    • count 是一个正整数。GO之前的批处理将执行指定的次数。

    备注:

    • GO不是Transact-SQL语句;它是sqlcmd和osql实用程序以及sqlserver management studio代码编辑器识别的命令。
    • SQL Server实用工具将GO解释为应将当前批Transact-SQL语句发送到SQL Server实例的信号。当前的语句批由自上次执行后输入的所有语句组成,如果这是第一次执行,则是自特别会话或脚本开始以来输入的所有语句。
    • Transact-SQL语句不能与GO命令占用同一行。但是,该行可以包含注释。
    • 用户必须遵循批处理规则。例如,在批处理中第一个语句之后执行存储过程时,必须包含EXECUTE关键字。局部(用户定义)变量的范围仅限于批处理,不能在GO命令后引用。
    USE AdventureWorks2012;  
    GO  
    DECLARE @MyMsg VARCHAR(50)  
    SELECT @MyMsg = 'Hello, World.'  
    GO -- @MyMsg is not valid after this GO ends the batch.  
      
    -- Yields an error because @MyMsg not declared in this batch.  
    PRINT @MyMsg  
    GO  
      
    SELECT @@VERSION;  
    -- Yields an error: Must be EXEC sp_who if not first statement in   
    -- batch.  
    sp_who  
    GO
    

    SQL Server应用程序可以将多个Transact-SQL语句发送到SQL Server实例以批处理方式执行。然后将批处理中的语句编译为单个执行计划。程序员在SQL Server实用程序中执行即席语句,或构建Transact-SQL语句的脚本以在SQL Server实用程序中运行时,使用GO发出批处理结束的信号。

    基于ODBC或oledbapi的应用程序在尝试执行GO命令时会收到语法错误。SQL Server实用工具从不向服务器发送GO命令。

    在GO之后不要使用分号作为语句结束符。

    下面的示例创建两个批。第一批只包含一个useadventureworks2012语句来设置数据库上下文。其余语句使用局部变量。因此,所有局部变量声明必须分组在一个批中。这是通过在引用变量的最后一个语句之后才使用GO命令来完成的。

    USE AdventureWorks2012;  
    GO  
    DECLARE @NmbrPeople int  
    SELECT @NmbrPeople = COUNT(*)  
    FROM Person.Person;  
    PRINT 'The number of people as of ' +  
          CAST(GETDATE() AS char(20)) + ' is ' +  
          CAST(@NmbrPeople AS char (10));  
    GO
    

    下面的示例执行批处理中的语句两次。

    SELECT DB_NAME();  
    SELECT USER_NAME();  
    GO 2
    

      

    结语:在执行SQL语句时,GO相当于一个结束符或断句,要分别执行对应的语句,而不能同时执行。 --2020.09.16

    创建时间:2020.09.16  更新时间:

    博客园 滔Roy https://www.cnblogs.com/guorongtao 希望内容对你所有帮助,谢谢!
  • 相关阅读:
    Layui的一些心得
    Oracle工具PLSQL
    .NET开发中 springMVC+NHibernate注入失败的几个常见错误
    配置好运行后Error creating context 'spring.root': Could not load type from string value
    css样式添加错误导致烦扰
    Oracle时间与系统不同步,TimeStampService
    前端入门10-JavaScript语法之对象
    前端入门9-JavaScript语法之运算符
    前端入门8-JavaScript语法之数据类型和变量
    前端入门7-JavaScript语法之相关术语
  • 原文地址:https://www.cnblogs.com/guorongtao/p/13677831.html
Copyright © 2011-2022 走看看