SQL中的GO

来源:互联网 发布:nginx lua 全局变量 编辑:程序博客网 时间:2024/06/15 02:03

        SQL脚本是一种用SQL语言写的批处理文件(.sql),SQL脚本通常可以由SQL查询分析器来执行。


        GO向Microsoft & SQL Server 实用工具发出一批 Transact-SQL 语句结束的信号。GO是把Transact-SQL语句分批次执行(一步成功了才会执行下一步,即一步一个GO)。

注释

        SQL Server 实用工具将 GO 解释为应将当前 Transact-SQL 批处理语句发送给 SQL Server 的信号。当前批处理语句是自上一 GO 命令后输入的所有语句,若是第一条 GO 命令,则是从特殊会话或脚本的开始处到这条 GO 命令之间的所有语句。SQL 查询分析器和 osql 及 isql 命令提示实用工具执行 GO 命令的方式不同。有关更多信息,请参见 osql 实用工具、isql 实用工具和 SQL 查询分析器。

        GO 不是 Transact-SQL 语句,而是可为 osql 和 isql 实用工具及 SQL Server 查询分析器识别的命令。

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

权限

        GO 是一个不需权限的实用工具命令,可以由任何用户执行。

示例
        下面的示例创建两个批处理。第一个批处理只包含一条 USE pubs 语句,用于设置数据库上下文。剩下的语句使用了一个局部变量,因此所有的局部变量声明必须在一个批处理中。这一点可通过在最后一条引用此变量的语句之后才使用 GO 命令来做到。

USE pubsGODECLARE @NmbrAuthors intSELECT @NmbrAuthors = COUNT(*)FROM authorsPRINT 'The number of authors as of ' +      CAST(GETDATE() AS char(20)) + ' is ' +      CAST(@NmbrAuthors AS char (10))GO


0 0