SQLSERVER 中GO

看了几篇文章,云里雾里,直到这篇本人才算有所收获。


SQLSERVER 中GO的作用详解

具体不废话了,请看下文详解。

use db_CSharp
go
 select *,
 备注=case
 when Grade>=90 then '成绩优秀'
 when Grade<90 and Grade>=80 then '成绩良好'
 when Grade<80 and Grade>=70 then '成绩及格'
 else '不及格'
 end
 from tb_Grade

?

如果只是执行一条语句,有没有GO都一样

如果多条语句之间用GO分隔开就不一样了

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

例如:

首先同时执行下边的语句

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

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

而你再执行

?

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

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

ps:SQL SERVER 中 GO 的用法

用信号通知 Microsoft® SQL Server™ 实用工具一批 Transact-SQL 语句的结束。
GO 不是 Transact-SQL 语句;而是可为 osql 和 isql 实用工具及 SQL Server 查询分析器识别的命令。

如果你的SQL过长的时候,就要写GO,或者有一些语句,它只能是第一句操作的,在之前你也得写 GO ,GO的意思 是 分批处理语句 有加这个 GO ,就执行GO 行的代码,执行后再执行接下来的代码……

像这样的情况下就要用到GO ,分批处理数据……

?

use master
go
 
if exists (select * from sysdatabases where name = 'kejianDB')
drop database kejianDB
go
 
create database kejianDB
go
 
use kejianDB
go
 
--(行业表)
create table Trade
(
tra_Id int primary key identity(1,1) not null, --行业ID (主键、自增长)
tra_Name varchar(50) not null --行业名称
)
go

以上就是本文的全部叙述,希望大家喜欢。

http://www.jb51.net/article/73559.htm

顺便加个百度知道的

SQL Server的工具中(比如:SQL Server Management Studio) 标志着一组T-SQL语句的结尾符号。

比如说:

1
2
3
4
5
6
7
8
9
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

不过这个是结尾标志符号是可以自定义的,你可以改为你想要的字符。

你可以在MSDN中找到更多关于Go语句的内容

http://msdn.microsoft.com/en-us/library/ms188037.aspx

坊间小毅    |  发布于2014-05-17 16:18


有种迷之笑点

顺便再加一句

除了提交外,go还可以指定提交的次数。比如

select * from table

go 2

那么go之前的语句会被执行两次。

本段引自灰太狼的博客(http://blog.csdn.net/tjvictor)文章 http://blog.csdn.net/tjvictor/article/details/5454669

以及:

如果第一个语句报错.有go的情况下,还会继续执行下面的语句.不管第一个语句有没有插入成功.

如果没有go的话.第一个语句报错,下面的将不被执行.

如果既有begin tran ,又有go 的话. 如果报错,begin tran 将不起作用.rollback 不了. 就是有go的话,begin tran 将不起作用.

http://blog.csdn.net/wobuwei/article/details/4466845



  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值