Udostępnij za pośrednictwem


Batch Examples

These examples are scripts that use Microsoft SQL Server Management Studio Code editor and the sqlcmd utility GO command to define batch boundaries.

Poniższy przykład tworzy widok.Ponieważ CREATE VIEW musi być jedynym instrukcja w partia, polecenia OBLICZ są wymagane do izolowania w instrukcja CREATE VIEW z USE a instrukcja SELECT, wokół niego.

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

W poniższym przykładzie pokazano kilka partii połączone w jedną transakcję.Instrukcji BEGIN TRANSACTION i instrukcji zatwierdzanie ograniczyć granice transakcji.Instrukcje instrukcja BEGIN TRANSACTION, USE, CREATE tabela, SELECT i zatwierdzanie są w ich własnych instancje pojedynczą instrukcją.Wszystkie instrukcje INSERT znajdują się w jednej partia.

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

Poniższy skrypt stanowi ilustrację dwa problemy.Pierwszy, zmienna @ MyVar jest zadeklarowany w drugim partia i do którego istnieje odwołanie w trzecim.Ponadto drugi partia ma początek komentarz, ale nie końca.The third batch has the end of the comment, but when sqlcmd reads the GO command it sends the first batch to Microsoft SQL Server 2005 where the /* with no matching */ generates a syntax error.

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

See Also

Concepts