共用方式為


批次範例

這些範例是使用 Microsoft SQL Server Management Studio 程式碼編輯器和 sqlcmd 公用程式的 GO 命令所寫成的指令碼,用來定義批次界限。

下列範例會建立一個檢視。由於 CREATE VIEW 必須是批次中的唯一陳述式,需要使用 GO 命令將 CREATE VIEW 陳述式和上下的 USE、SELECT 這兩個陳述式隔開。

USE AdventureWorks;
GO 
CREATE VIEW dbo.vProduct
AS
SELECT ProductNumber, Name
FROM Production.Product;
GO 
SELECT * 
FROM dbo.vProduct;
GO 

下列範例顯示多個批次合併為一個交易。其中 BEGIN TRANSACTION 和 COMMIT 陳述式用於分隔交易的界限。BEGIN TRANSACTION、USE、CREATE TABLE、SELECT 和 COMMIT 陳述式都位於其單一陳述式批次中。而所有的 INSERT 陳述式都包含在一個批次內。

BEGIN TRANSACTION
GO
USE AdventureWorks;
GO
CREATE TABLE dbo.mycompanies
(
 id_num int IDENTITY(100, 5),
 company_name nvarchar(100)
)
GO
INSERT mycompanies (company_name)
   VALUES (N'A Bike Store');
INSERT mycompanies (company_name)
   VALUES (N'Progressive Sports');
INSERT mycompanies (company_name)
   VALUES (N'Modular Cycle Systems');
INSERT mycompanies (company_name)
   VALUES (N'Advanced Bike Components');
INSERT mycompanies (company_name)
   VALUES (N'Metropolitan Sports Supply');
INSERT mycompanies (company_name)
   VALUES (N'Aerobic Exercise Company');
INSERT mycompanies (company_name)
   VALUES (N'Associated Bikes');
INSERT mycompanies (company_name)
   VALUES (N'Exemplary Cycles');
GO

SELECT id_num, company_name
FROM dbo.mycompanies
ORDER BY company_name ASC;
GO
COMMIT;
GO

下列指令碼中有兩個問題。第一個問題是 @MyVar 變數在第二個批次中宣告,卻在第三個批次中被參考。而且,第二個批次含註解的開頭,卻無結尾。第三個批次含註解的結尾,但是 sqlcmd 讀取到 GO 命令時會傳送第一個批次給 Microsoft SQL Server 2005,其中 /* 沒有相符的 */ 會產生語法錯誤。

USE AdventureWorks;
GO
DECLARE @MyVar INT
/* Start of the split comment.
GO
End of the split comment. */
SELECT @MyVar = 29;
GO