Udostępnij za pomocą


ZACZYNAĆ... KONIEC (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punkt końcowy analizy SQL w usłudze Microsoft FabricHurtownia danych w usłudze Microsoft FabricBaza danych SQL w usłudze Microsoft Fabric

Otacza serię instrukcji Transact-SQL, aby można było wykonać grupę instrukcji Transact-SQL w logicznym bloku kodu. BEGIN i END są słowami kluczowymi języka sterowania przepływem.

Transact-SQL konwencje składni

Syntax

BEGIN
    { sql_statement | statement_block }
END

Arguments

{ sql_statement | statement_block }

Każda prawidłowa instrukcja Transact-SQL lub grupowanie instrukcji zgodnie z definicją przy użyciu bloku instrukcji.

Remarks

BEGIN...END bloki mogą być zagnieżdżone.

Mimo że wszystkie instrukcje Transact-SQL są prawidłowe w bloku BEGIN...END , niektóre instrukcje Transact-SQL nie powinny być grupowane razem w ramach tej samej partii lub bloku instrukcji.

Examples

W poniższym przykładzie BEGIN zdefiniuj END serię instrukcji Transact-SQL, które są wykonywane razem. BEGIN...END Jeśli blok nie zostanie uwzględniony, obie instrukcje zostaną wykonane, a oba ROLLBACK TRANSACTIONPRINT komunikaty zostaną zwrócone.

USE AdventureWorks2022;
GO

BEGIN TRANSACTION
GO

IF @@TRANCOUNT = 0
BEGIN
    SELECT FirstName, MiddleName
    FROM Person.Person
    WHERE LastName = 'Adams';

    ROLLBACK TRANSACTION;

    PRINT N'Rolling back the transaction two times would cause an error.';
END;

ROLLBACK TRANSACTION;

PRINT N'Rolled back the transaction.';
GO

Przykłady: Azure Synapse Analytics and Analytics Platform System (PDW)

W poniższym przykładzie BEGIN i END zdefiniuj serię instrukcji SQL, które są uruchamiane razem. BEGIN...END Jeśli blok nie jest uwzględniony, poniższy przykład jest uruchamiany w pętli ciągłej.

-- Uses AdventureWorksDW

DECLARE @Iteration INT = 0;

WHILE @Iteration < 10
BEGIN
    SELECT FirstName,
        MiddleName
    FROM dbo.DimCustomer
    WHERE LastName = 'Adams';

    SET @Iteration += 1;
END;