SQLSERVER 中GO的作用详解
具体不废话了,请看下文详解。
usedb_CSharp go select*, 备注=case whenGrade>=90then'成绩优秀' whenGrade<90andGrade>=80then'成绩良好' whenGrade<80andGrade>=70then'成绩及格' else'不及格' end fromtb_Grade
如果只是执行一条语句,有没有GO都一样
如果多条语句之间用GO分隔开就不一样了
每个被GO分隔的语句都是一个单独的事务,一个语句执行失败不会影响其它语句执行。
例如:
首先同时执行下边的语句
select*fromsysobjectswhereid=a selectgetdate()
你会发现会报错,并且不会显示任何结果集
而你再执行
select*fromsysobjectswhereid=a go selectgetdate() go
你会发现尽管同样会报错,但结果集中包含selectgetdate()的结果。
ps:SQLSERVER中GO的用法
用信号通知Microsoft®SQLServer™实用工具一批Transact-SQL语句的结束。
GO不是Transact-SQL语句;而是可为osql和isql实用工具及SQLServer查询分析器识别的命令。
如果你的SQL过长的时候,就要写GO,或者有一些语句,它只能是第一句操作的,在之前你也得写GO,GO的意思是分批处理语句有加这个GO,就执行GO行的代码,执行后再执行接下来的代码……
像这样的情况下就要用到GO,分批处理数据……
usemaster go ifexists(select*fromsysdatabaseswherename='kejianDB') dropdatabasekejianDB go createdatabasekejianDB go usekejianDB go --(行业表) createtableTrade ( tra_Idintprimarykeyidentity(1,1)notnull,--行业ID(主键、自增长) tra_Namevarchar(50)notnull--行业名称 ) go
以上就是本文的全部叙述,希望大家喜欢。