這篇文章主要介紹了SQLSERVER 中GO的作用詳解的相關(guān)資料,需要的朋友可以參考下
具體不廢話了,請看下文詳解。
- use db_CSharp
- go
- select *,
- 備注=case
- when Grade>=90 then '成績優(yōu)秀'
- when Grade<90 and Grade>=80 then '成績良好'
- when Grade<80 and Grade>=70 then '成績及格'
- else '不及格'
- end
- from tb_Grade
如果只是執(zhí)行一條語句,有沒有GO都一樣
如果多條語句之間用GO分隔開就不一樣了
每個被GO分隔的語句都是一個單獨(dú)的事務(wù),一個語句執(zhí)行失敗不會影響其它語句執(zhí)行。
例如:
首先同時執(zhí)行下邊的語句
- select * from sysobjects where id=a
- select getdate()
你會發(fā)現(xiàn)會報(bào)錯,并且不會顯示任何結(jié)果集
而你再執(zhí)行
- select * from sysobjects where id=a
- go
- select getdate()
- go
你會發(fā)現(xiàn)盡管同樣會報(bào)錯,但結(jié)果集中包含select getdate()的結(jié)果。
ps:SQL SERVER 中 GO 的用法
用信號通知 Microsoft® SQL Server™ 實(shí)用工具一批 Transact-SQL 語句的結(jié)束。
GO 不是 Transact-SQL 語句;而是可為 osql 和 isql 實(shí)用工具及 SQL Server 查詢分析器識別的命令。
如果你的SQL過長的時候,就要寫GO,或者有一些語句,它只能是第一句操作的,在之前你也得寫 GO ,GO的意思 是 分批處理語句 有加這個 GO ,就執(zhí)行GO 行的代碼,執(zhí)行后再執(zhí)行接下來的代碼……
像這樣的情況下就要用到GO ,分批處理數(shù)據(jù)……
- use master
- go
- if exists (select * from sysdatabases where name = 'kejianDB')
- drop database kejianDB
- go
- create database kejianDB
- go
- use kejianDB
- go
- --(行業(yè)表)
- create table Trade
- (
- tra_Id int primary key identity(1,1) not null, --行業(yè)ID (主鍵、自增長)
- tra_Name varchar(50) not null --行業(yè)名稱
- )
- go
以上就是本文的全部敘述,希望大家喜歡。
新聞熱點(diǎn)
疑難解答
圖片精選