--分析器會先分析下乙個go前的所有**,然後再執行,就算最後一步錯,也會回滾到第乙個語句的狀態,換句話說,就是分析器會把go之間的語句作為乙個事務,有錯誤的話會回滾到上一go之前。
--可以在分析器下執行以下**
create table temp(myint int)
go --當這個go和下面的那個go沒有的話,雖然這個語句正確,但是由於下面出錯,這個表也不會建立的,
--當只有這個go,沒有下面的那個go的話,表temp會被建立,即使下面的語句出錯。
create function myfuntion(@int int)
returns varchar(100)
asbegin
declare @intvar varchar(100)
set @intvar = 'asdfasd'
return @intvar
endgo --沒有這個go的話語句會出錯,有這個go的話function會先被建立,下面的語句才能被執行
select [sdaf]= dbo.myfuntion(2)
drop function myfuntion
drop table temp
另乙個例子
create table temp(myint int)
goinsert tbltemp1 values ('1','2','a')
gocreate table temp2(myint int)
insert tbltemp1 values ('1','2','a')
--insert tbltemp values ('1','2')
create table te***(myint int)
go心得:
批處理如果遇到編譯錯誤,整個批處理都不會執行;
遇到執行錯誤,本批處理中執行錯誤點前面的執行步驟會生效,執行錯誤點後面的語句不會執行。
本批處理塊中的錯誤不會影響到其他批處理塊的執行!
如果指令碼沒有乙個go語句,表示整個一段指令碼塊都是乙個批處理塊!
批處理下各符號的作用詳解
一 單符號 在for中表示使用增強的變數擴充套件。在 var n,m 中表示使用擴充套件環境變數指定位置的字串。在set a中表示一元運算子,將運算元按位取反。在set a中一元運算子,表示邏輯非。比如set a a 0,這時a就表示邏輯1。隱藏命令列本身的回顯,常用於批處理中。在findstr命令...
Dos批處理中符號作用大全
dos批處理中符號作用大全 2007 07 14 10 43 隱藏命令的回顯。在for中表示使用增強的變數擴充套件 在set中表示使用擴充套件環境變數指定位置的字串 在set a中表示按位取反。使用兩個 包含乙個字串表示引用環境變數。比如乙個 time 可以擴充套件到當前的系統時間 單個 緊跟0 9...
批處理中Dos符號作用大全
隱藏命令的回顯。在for中表示使用增強的變數擴充套件 在set中表示使用擴充套件環境變數指定位置的字串 在set a中表示按位取反。使用兩個 包含乙個字串表示引用環境變數。比如乙個 time 可以擴充套件到當前的系統時間 單個 緊跟0 9的乙個數字表示引用命令列引數 用於for中表示引用迴圈變數 連...