• TSQL笔记6:GO


    T-SQL笔记6:GO

    本章摘要:无

     

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

         语法:GO [count]

    count

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

          GO 不是 Transact-SQL 语句;它是可由 sqlcmdosql 实用工具以及 SQL Server Management Studio 代码编辑器识别的命令。

          SQL Server 实用工具将 GO 解释为应该向 SQL Server 实例发送当前批 Transact-SQL 语句的信号。当前批语句由上一 GO 命令后输入的所有语句组成,如果是第一条 GO 命令,则由即席会话或脚本开始后输入的所有语句组成。

          GO 命令和 Transact-SQL 语句不能在同一行中。但在 GO 命令行中可包含注释。

          用户必须遵照使用批处理的规则。例如,在批处理中的第一条语句后执行任何存储过程必须包含 EXECUTE 关键字。局部(用户定义)变量的作用域限制在一个批处理中,不可在 GO 命令后引用。

    USE AdventureWorks2008R2;
    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 或 OLE DB API 的应用程序试图执行 GO 命令,会收到语法错误。SQL Server 实用工具从不向服务器发送 GO 命令。

    示例:

         以下示例创建两个批。第一个批只包含一条 USE AdventureWorks2008R2 语句,用于设置数据库上下文。其余的语句使用局部变量。因此,所有局部变量声明必须组成一个批。为此,必须在最后一条引用此变量的语句之后才使用 GO 命令。

    USE AdventureWorks2008R2;
    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
    Creative Commons License本文基于Creative Commons Attribution 2.5 China Mainland License发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名http://www.cnblogs.com/luminji(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言。
  • 相关阅读:
    [Caffe] ubuntu14.04下使用OpenBLAS加速Caffe
    [CUDA] ubuntu14.04+cuda7.5下安装cudnn7.0
    ubuntu下virtualenv的复制
    SIFT特征学习笔记
    ubuntu14.04+opencv 3.0+python2.7安装及测试
    django之ORM
    django之路由(url)
    性能调优之MySQL篇四:MySQL配置定位以及优化
    性能调优之MySQL篇三:MySQL配置定位以及优化
    性能调优之MySQL篇二:MySQL配置文件My.ini配置文件优化
  • 原文地址:https://www.cnblogs.com/luminji/p/1855422.html
Copyright © 2020-2023  润新知