Transact-SQL 参考  
GO
用信号通知 Microsoft® SQL Server™ 实用工具一批 Transact-SQL 语句的结束。语法
GO注释
GO 不是 Transact-SQL 语句;而是可为 osql 和 isql 实用工具及 SQL Server 查询分析器识别的命令。SQL Server 实用工具将 GO 解释为应将当前的 Transact-SQL 批处理语句发送给 SQL Server 的信号。当前批处理语句是自上一 GO 命令后输入的所有语句,若是第一条 GO 命令,则是从特殊会话或脚本的开始处到这条 GO 命令之间的所有语句。SQL 查询分析器和 osql 及 isql 命令提示实用工具执行 GO 命令的方式不同。有关更多信息,请参见 osql 实用工具、isql 实用工具和 SQL 查询分析器。 GO 命令和Transact-SQL 语句不可在同一行上。但在 GO 命令行中可包含注释。用户必须遵照使用批处理的规则。例如,在批处理中的第一条语句后执行任何存储过程必须包含 EXECUTE 关键字。局部(用户定义)变量的作用域限制在一个批处理中,不可在 GO 命令后引用。USE pubs
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
GOSELECT @@VERSION;
-- Yields an error: Must be EXEC sp_who if not first statement in 
-- batch.
sp_who
GOSQL Server 应用程序可将多条 Transact-SQL 语句作为一个批处理发给 SQL Server 去执行。在此批处理中的语句编译成一个执行计划。程序员在 SQL Server 实用工具中执行特定语句,或生成 Transact-SQL 语句脚本在 SQL Server 实用工具中运行,用 GO 来标识批处理的结束。如果基于 DB-Library、ODBC 或 OLE DB APIs 的应用程序试图执行 GO 命令时会收到语法错误。SQL Server 实用工具永远不会向服务器发送 GO 命令。权限
GO 是一个不需权限的实用工具命令。可以由任何用户执行。示例
下面的示例创建两个批处理。第一个批处理只包含一条 USE pubs 语句,用于设置数据库上下文。剩下的语句使用了一个局部变量,因此所有的局部变量声明必须在一个批处理中。这一点可通过在最后一条引用此变量的语句之后才使用 GO 命令来做到。USE pubs
GO
DECLARE @NmbrAuthors int
SELECT @NmbrAuthors = COUNT(*)
FROM authors
PRINT 'The number of authors as of ' +
      CAST(GETDATE() AS char(20)) + ' is ' +
      CAST(@NmbrAuthors AS char (10))
GO
请参见批处理成批处理编写可读性强的代码©1988-2000 Microsoft Corporation。保留所有权利。

解决方案 »

  1.   


     Transact-SQL 参考  
    GO
    用信号通知 Microsoft® SQL Server™ 实用工具一批 Transact-SQL 语句的结束。语法
    GO注释
    GO 不是 Transact-SQL 语句;而是可为 osql 和 isql 实用工具及 SQL Server 查询分析器识别的命令。SQL Server 实用工具将 GO 解释为应将当前的 Transact-SQL 批处理语句发送给 SQL Server 的信号。当前批处理语句是自上一 GO 命令后输入的所有语句,若是第一条 GO 命令,则是从特殊会话或脚本的开始处到这条 GO 命令之间的所有语句。SQL 查询分析器和 osql 及 isql 命令提示实用工具执行 GO 命令的方式不同。有关更多信息,请参见 osql 实用工具、isql 实用工具和 SQL 查询分析器。 GO 命令和Transact-SQL 语句不可在同一行上。但在 GO 命令行中可包含注释。用户必须遵照使用批处理的规则。例如,在批处理中的第一条语句后执行任何存储过程必须包含 EXECUTE 关键字。局部(用户定义)变量的作用域限制在一个批处理中,不可在 GO 命令后引用。USE pubs
    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
    GOSELECT @@VERSION;
    -- Yields an error: Must be EXEC sp_who if not first statement in 
    -- batch.
    sp_who
    GOSQL Server 应用程序可将多条 Transact-SQL 语句作为一个批处理发给 SQL Server 去执行。在此批处理中的语句编译成一个执行计划。程序员在 SQL Server 实用工具中执行特定语句,或生成 Transact-SQL 语句脚本在 SQL Server 实用工具中运行,用 GO 来标识批处理的结束。如果基于 DB-Library、ODBC 或 OLE DB APIs 的应用程序试图执行 GO 命令时会收到语法错误。SQL Server 实用工具永远不会向服务器发送 GO 命令。权限
    GO 是一个不需权限的实用工具命令。可以由任何用户执行。示例
    下面的示例创建两个批处理。第一个批处理只包含一条 USE pubs 语句,用于设置数据库上下文。剩下的语句使用了一个局部变量,因此所有的局部变量声明必须在一个批处理中。这一点可通过在最后一条引用此变量的语句之后才使用 GO 命令来做到。USE pubs
    GO
    DECLARE @NmbrAuthors int
    SELECT @NmbrAuthors = COUNT(*)
    FROM authors
    PRINT 'The number of authors as of ' +
          CAST(GETDATE() AS char(20)) + ' is ' +
          CAST(@NmbrAuthors AS char (10))
    GO
    请参见批处理成批处理编写可读性强的代码©1988-2000 Microsoft Corporation。保留所有权利。
      

  2.   

    use pubs
    go
    GO
    用信号通知 Microsoft® SQL Server™ 实用工具一批 Transact-SQL 语句的结束。语法
    GO
      

  3.   


     Transact-SQL 参考  
    GO
    用信号通知 Microsoft® SQL Server™ 实用工具一批 Transact-SQL 语句的结束。语法
    GO注释
    GO 不是 Transact-SQL 语句;而是可为 osql 和 isql 实用工具及 SQL Server 查询分析器识别的命令。SQL Server 实用工具将 GO 解释为应将当前的 Transact-SQL 批处理语句发送给 SQL Server 的信号。当前批处理语句是自上一 GO 命令后输入的所有语句,若是第一条 GO 命令,则是从特殊会话或脚本的开始处到这条 GO 命令之间的所有语句。SQL 查询分析器和 osql 及 isql 命令提示实用工具执行 GO 命令的方式不同。有关更多信息,请参见 osql 实用工具、isql 实用工具和 SQL 查询分析器。 GO 命令和Transact-SQL 语句不可在同一行上。但在 GO 命令行中可包含注释。用户必须遵照使用批处理的规则。例如,在批处理中的第一条语句后执行任何存储过程必须包含 EXECUTE 关键字。局部(用户定义)变量的作用域限制在一个批处理中,不可在 GO 命令后引用。USE pubs
    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
    GOSELECT @@VERSION;
    -- Yields an error: Must be EXEC sp_who if not first statement in 
    -- batch.
    sp_who
    GOSQL Server 应用程序可将多条 Transact-SQL 语句作为一个批处理发给 SQL Server 去执行。在此批处理中的语句编译成一个执行计划。程序员在 SQL Server 实用工具中执行特定语句,或生成 Transact-SQL 语句脚本在 SQL Server 实用工具中运行,用 GO 来标识批处理的结束。如果基于 DB-Library、ODBC 或 OLE DB APIs 的应用程序试图执行 GO 命令时会收到语法错误。SQL Server 实用工具永远不会向服务器发送 GO 命令。权限
    GO 是一个不需权限的实用工具命令。可以由任何用户执行。示例
    下面的示例创建两个批处理。第一个批处理只包含一条 USE pubs 语句,用于设置数据库上下文。剩下的语句使用了一个局部变量,因此所有的局部变量声明必须在一个批处理中。这一点可通过在最后一条引用此变量的语句之后才使用 GO 命令来做到。USE pubs
    GO
    DECLARE @NmbrAuthors int
    SELECT @NmbrAuthors = COUNT(*)
    FROM authors
    PRINT 'The number of authors as of ' +
          CAST(GETDATE() AS char(20)) + ' is ' +
          CAST(@NmbrAuthors AS char (10))
    GO
    请参见批处理成批处理编写可读性强的代码©1988-2000 Microsoft Corporation。保留所有权利。