バッチの例
ここでは、SQL Server Management Studio コード エディターと sqlcmd ユーティリティで GO コマンドを使用してバッチ境界を定義するスクリプトの例を示します。
この例では、ビューを作成します。CREATE VIEW ステートメントを使用したバッチ内では他のステートメントを使用できないため、CREATE VIEW ステートメントとその前後の USE ステートメントおよび SELECT ステートメントを分離するために、GO コマンドが必要です。
USE AdventureWorks2008R2;
GO
CREATE VIEW dbo.vProduct
AS
SELECT ProductNumber, Name
FROM Production.Product;
GO
SELECT *
FROM dbo.vProduct;
GO
次の例では、複数のバッチを 1 つのトランザクションに結合します。BEGIN TRANSACTION ステートメントと COMMIT ステートメントによってトランザクションの境界が区切られます。BEGIN TRANSACTION、USE、CREATE TABLE、SELECT、COMMIT の各ステートメントはいずれも、それぞれ別個のステートメント バッチ内にあります。INSERT ステートメントはすべて同じバッチ内にあります。
BEGIN TRANSACTION
GO
USE AdventureWorks2008R2;
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