標籤:cee rdate null -- date creat style order bsp
批是由用戶端應用程式作為一個單元發送給SQL Server 執行的一條或多條語句 如果批中出現錯誤就整個批都不會交給SQL SERVER 執行
PRINT ‘第一批‘;GO-- Invalid batchPRINT ‘第二批‘;SELECT custid FROM Sales.Customers;SELECT orderid FOM Sales.Orders;GO-- Valid batchPRINT ‘第三批‘;SELECT empid FROM HR.Employees;
一起執行會發現第二批出現錯誤就沒有提交執行
批由GO命令 隔斷
DECLARE @i AS INT = 10;-- SucceedsPRINT @i;GO-- FailsPRINT @i;GO
Go 隔斷了 @i 變數 就會報錯
例如還有一種情況
IF OBJECT_ID(‘Sales.MyView‘, ‘V‘) IS NOT NULL DROP VIEW Sales.MyView;CREATE VIEW Sales.MyViewASSELECT YEAR(orderdate) AS orderyear, COUNT(*) AS numordersFROM Sales.OrdersGROUP BY YEAR(orderdate);GO
CREATE VIEW Sales.MyViewAS
create view 必須是批中第一個語句 所以 在create view 前面 加 go命令 進行截斷
還有 在同一批中更改架構 會出現錯誤 需要放到兩個批中
CREATE TABLE dbo.T1(col1 INT);GO-- Following failsALTER TABLE dbo.T1 ADD col2 INT;SELECT col1, col2 FROM dbo.T1;GO
也可以用GO 迴圈運行批如:
print ‘1123‘GO 5
可以用來批量新增語句
T-SQL:批GO使用執行個體(十四)