T-SQL,为什么我们要写GO

2022-03-08 00:00:00 sql tsql sql-server ssms

为什么此代码中有两个围棋?当查询只需运行一次时,为什么需要包括它?

USE AdventureWorks2016;
GO

SELECT 
    Ord.SalesOrderID, Ord.OrderDate,
    (SELECT MAX(OrdDet.UnitPrice)
     FROM Sales.SalesOrderDetail AS OrdDet
     WHERE Ord.SalesOrderID = OrdDet.SalesOrderID) AS MaxUnitPrice
FROM Sales.SalesOrderHeader AS Ord;
GO

解决方案

如果有帮助,Go会隔离每批

例如

Declare @v int = 25
Select @V;

go

Select @v ;

第一个SELECT执行正常并返回25,而第二个SELECT抛出错误

相关文章