Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Punkt końcowy analizy SQL w usłudze Microsoft Fabric
Hurtownia danych w usłudze Microsoft Fabric
Baza 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;