在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
批是由客户端应用程序作为一个单元发送给SQL Server 执行的一条或多条语句 如果批中出现错误就整个批都不会交给SQL SERVER 执行 PRINT '第一批';GO -- Invalid batch PRINT '第二批'; SELECT custid FROM Sales.Customers; SELECT orderid FOM Sales.Orders; GO -- Valid batch PRINT '第三批'; SELECT empid FROM HR.Employees;
一起执行会发现第二批出现错误就没有提交执行 批由GO命令 隔断
DECLARE @i AS INT = 10; -- Succeeds PRINT @i; GO -- Fails PRINT @i; GO Go 隔断了 @i 变量 就会报错 例如还有一种情况 IF OBJECT_ID('Sales.MyView', 'V') IS NOT NULL DROP VIEW Sales.MyView; CREATE VIEW Sales.MyView AS SELECT YEAR(orderdate) AS orderyear, COUNT(*) AS numorders FROM Sales.Orders GROUP BY YEAR(orderdate); GO CREATE VIEW Sales.MyView
AS
create view 必须是批中第一个语句 所以 在create view 前面 加 go命令 进行截断 还有 在同一批中更改架构 会出现错误 需要放到两个批中 CREATE TABLE dbo.T1(col1 INT); GO -- Following fails ALTER TABLE dbo.T1 ADD col2 INT; SELECT col1, col2 FROM dbo.T1; GO
也可以用GO 循环运行批如:
print '1123' GO 5 可以用来批量新增语句
|
请发表评论