淺析SQL 中GO關鍵字的作用
阿新 • • 發佈:2019-01-30
如果只是執行一條語句,有沒有GO都一樣
如果多條語句之間用GO分隔開就不一樣了
每個被GO分隔的語句都是一個單獨的事務,一個語句執行失敗不會影響其它語句執行。
例如:
首先同時執行下邊的語句
select * from sysobjects where id=a
select getdate()
你會發現會報錯,並且不會顯示任何結果集
而你再執行
select * from sysobjects where id=a
go
select getdate()
go
你會發現儘管同樣會報錯,但結果集中包含select getdate()的結果。也就是說,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