7月11日 GO (Transact-SQL) MSDN

转载 2015年07月11日 07:11:42

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

适用范围:SQL Server(SQL Server 2008 至当前版本),Windows Azure SQL Database(初始版本至当前版本)。

主题链接图标 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 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 或 OLE DB API 的应用程序试图执行 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

[SQL Server ] GO语句的使用

GO语句 每个被GO分隔的语句都是独立的事务,一个语句执行失败不会影响其它语句执行: go select * from dbo.XXX go select * from dbo...
  • ALDNOAH_ZERO
  • ALDNOAH_ZERO
  • 2016年10月10日 19:29
  • 755

7月11日

一、在PHP中将九九乘法口诀表分别用table和div来显示出来 1.用table来显现: ...
  • tianlu1677
  • tianlu1677
  • 2012年07月11日 17:45
  • 868

7月11日

       晚上洗完澡,在抽屉里找到了手机,开机后,收到他的一条短信,他说那边环境非常好,让我也好好学习。        今天外面下雨了,气温也降了下来。我倒了杯温水,(刚写到这里,家里突然一片黑暗...
  • lililover
  • lililover
  • 2005年07月12日 09:25
  • 526

2011年7月11日

前一段时间一直在学习hibernate的映射文件,但是写好之后又觉得类之间关系很乱,而且映射文件本身也不容易理解,于是决定从今天开始使用sql GUI工具,经过一天的研究,学习到的知识如下:1、外键与...
  • xcl1025
  • xcl1025
  • 2011年07月13日 00:38
  • 202

7月11日 事务隔离级别

 SET TRANSACTION ISOLATION LEVEL (Transact-SQL) 控制到 SQL Server 的连接发出的 Transact-SQL 语句的锁定行为...
  • caiyuangba
  • caiyuangba
  • 2015年07月11日 08:12
  • 204

【Vegas2008】7月11日-租房~~

忙了一周,累死了~ 每天下班都要去新房子收拾。每天都要11点才能回宿舍。还要,房子像个房子了,窗帘洗了,卫生间、厨房都打扫过了。房东人也很好,让我在他的车库充电瓶车电,而且给我们了一个小冰箱,今晚过去...
  • vegas_lee
  • vegas_lee
  • 2014年05月22日 15:47
  • 28

7月11日学习笔记

在方法上面标注@TargetAPI(16):只是会编译通过,真正在低于api16的的时候就会报错:NoSuchMethodExceptionError;正确的处理方式是:在方法的前面加上@Target...
  • SuperBlueMe
  • SuperBlueMe
  • 2017年07月13日 19:56
  • 142

教程:编写 Transact-SQL 语句

第 1 课:创建数据库对象 本课将介绍如何创建数据库,在数据库中创建表,然后访问表中的数据并对其进行更改。由于本课是对使用 Transact-SQL 的简介,因此它未使用或说明为这些...
  • xinqingwuji
  • xinqingwuji
  • 2016年05月12日 11:23
  • 8632

7月11日,英东游泳馆。

下午到英东游泳馆,终于看到了花样游泳队,似乎看到了那对双胞胎姐妹,之后她们戴上了泳镜就看不出谁是谁了。见到了所谓的美女教练,其实长的不怎么样,不过个子倒是挺高的有一米七的样子,那个日本教练倒是挺儒雅的...
  • greatcity
  • greatcity
  • 2012年07月12日 15:00
  • 7035

2008年7月11日

2008年7月11日英语和日语的对白说实话,我的英语很烂,昨日老同学发来一封英语的邮件,大概意思理解了,但还是有些那个,于是我用日语给他回复,一定让他不比我的感觉差!我知道对方只会猜日语中的汉字。--...
  • licsth
  • licsth
  • 2009年07月30日 00:10
  • 286
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:7月11日 GO (Transact-SQL) MSDN
举报原因:
原因补充:

(最多只允许输入30个字)