首页 技术 正文
技术 2022年11月12日
0 收藏 339 点赞 2,961 浏览 1368 个字

1. 作用:
向 SQL Server 实用工具发出一批 Transact-SQL 语句结束的信号.
2. 语法:
一批 Transact-SQL 语句
GO

Select 1
Select 2
Select 3
GO
3. 说明:
1) GO 不是 Transact-SQL 语句;
2) 它是 sqlcmd 和 osql 实用工具以及 SQL Server Management Studio 代码编辑器识别的命令.
3) SQL Server 应用程序可以将多个 Transact-SQL 语句作为一个批发送到 SQL Server 的实例来执行.然后,该批中的语句被编译成一个执行计划.程序员在 SQL Server 实用工具中执行特殊语句,或生成 Transact-SQL 语句的脚本在 SQL Server 实用工具中运行时,使用 GO 作为批结束的信号.
4) 如果基于 ODBC 或 OLE DB API 的应用程序试图执行 GO 命令,会收到语法错误.SQL Server 实用工具从不向服务器发送 GO 命令.
4. 权限:
GO 是一个不需任何权限的实用工具命令.它可以由任何用户执行.
5. 用法:
1) SQL Server 实用工具将 GO 解释为应该向 SQL Server 实例发送当前批 Transact-SQL 语句的信号.当前批语句由上一 GO 命令后输入的所有语句组成,如果是第一条 GO 命令,则由即席会话或脚本开始后输入的所有语句组成.

SQL Server中go语句使用注意事项

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

Select 1
GO
–会正确输出结果,列名为”无列名”

Select 1 GO

–会正确输出结果,列名为”GO”
–由此可知此处的GO并未起到应有的作用;

2、用户必须遵照使用批处理的规则.例如,在同一批处理中,创建数据库之后不能直接使用其新建的数据库

create database [Roc]
use [Roc]
GO
–运行此批处理后,系统会报错
–把此批处理分成两个批即可正确运行

create database [Roc]
GO
use [Roc]
GO

3、局部(用户定义)变量的作用域限制在一个批处理中,不可在 GO 命令后引用

declare @Roc varchar(max)
Select @Roc = ‘aking’
GO
print @Roc
GO

–此为两个批处理,由于局部变量的作用域要限制在一个批处理中,所以此语句错误
–把这两个批合并为一个批即可正确运行

declare @Roc varchar(max)
Select @Roc = ‘aking’
print @Roc
GO

4、每个被GO分隔的语句都是一个单独的事务,一个语句执行失败不会影响其它语句执行

select * from sysobjects where id=a
select getdate()

–你会发现会报错,并且不会显示任何结果集

select * from sysobjects where id=a
go
select getdate()
go

–你会发现尽管同样会报错,但结果集中包含select getdate()的结果。

5、GO [count] count 为正整数.指定GO 之前的批处理执行指定的次数

insert [Roc] Select ‘aking’
GO
–批处理执行1次,向表Roc中插入一行记录

aking Insert [Roc] Select ‘aking’
GO 10
–批处理执行10次,向表Roc中插入10行记录aking

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,083
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,558
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,407
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,180
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,817
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,900