T-SQL笔记6:GO

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: T-SQL笔记6:GO 本章摘要:无        GO向 SQL Server 实用工具发出一批 Transact-SQL 语句结束的信号。      语法:GO [count] count 为一个正整数。

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(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言。
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
2月前
|
SQL 前端开发 Go
编程笔记 GOLANG基础 001 为什么要学习Go语言
编程笔记 GOLANG基础 001 为什么要学习Go语言
|
2月前
|
Go 开发工具 git
编程笔记 GOLANG基础 003 Go语言开发环境搭建
编程笔记 GOLANG基础 003 Go语言开发环境搭建
|
2月前
|
存储 Java Go
编程笔记 GOLANG基础 002 Go语言简介
编程笔记 GOLANG基础 002 Go语言简介
|
4月前
|
存储 编译器 测试技术
【3w字吐血总结 | 新手必看】全网最详细Go笔记
【3w字吐血总结 | 新手必看】全网最详细Go笔记
52 0
|
6月前
|
Shell Go 网络安全
openssl 证书生成笔记(go 1.15版本以上)
openssl 证书生成笔记(go 1.15版本以上)
|
7月前
|
Go
Go语言变量初始化5式 新手笔记就要收好!
Go语言变量初始化5式 新手笔记就要收好!
33 0
|
9月前
|
前端开发 Go
前端学习笔记202305学习笔记第三十一天-js-代码执行产生EC和GO之1
前端学习笔记202305学习笔记第三十一天-js-代码执行产生EC和GO之1
22 0
|
9月前
|
前端开发 Go
前端学习笔记202305学习笔记第三十一天-js-代码执行产生EC和GO之2
前端学习笔记202305学习笔记第三十一天-js-代码执行产生EC和GO之2
27 0
|
9月前
|
前端开发 Go
前端学习笔记202305学习笔记第三十一天-js-代码执行产生EC和GO之3
前端学习笔记202305学习笔记第三十一天-js-代码执行产生EC和GO之3
32 0
|
11月前
|
安全 Java 编译器
如何用 Go 调用 Windows API | 青训营笔记
如何用 Go 调用 Windows API | 青训营笔记
833 0