T-SQL:批GO使用实例(十四)

Posted yuanzijian-ruiec

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了T-SQL:批GO使用实例(十四)相关的知识,希望对你有一定的参考价值。

批是由客户端应用程序作为一个单元发送给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

技术分享图片

可以用来批量新增语句

 

以上是关于T-SQL:批GO使用实例(十四)的主要内容,如果未能解决你的问题,请参考以下文章

Go语言第十四篇:Go语言基础总结

PyTorch学习(十四)Batch_Normalization(批标准化)

SQL SERVER GO命令循环使用实例

";" 和有啥不一样和 T-SQL 中的“GO”?

SQL Server——存储过程

T-SQL:GO语句和批处理(更新ing)