BEGIN...END (Transact-SQL)
Si applica a:SQL Server database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics AnalyticsPlatform System (PDW)SQL analytics endpoint in Microsoft FabricWarehouse in Microsoft Fabric
Include una serie di istruzioni Transact-SQL per consentire l'esecuzione di un gruppo di istruzioni Transact-SQL. BEGIN ed END sono parole chiave del linguaggio per il controllo di flusso.
Convenzioni di sintassi Transact-SQL
Sintassi
BEGIN
{ sql_statement | statement_block }
END
Nota
Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere la documentazione delle versioni precedenti.
Argomenti
{ sql_statement | statement_block }
Qualsiasi istruzione o raggruppamento di istruzioni Transact-SQL valide definito usando un blocco di istruzioni.
Osservazioni:
I blocchi BEGIN...END possono essere nidificati.
Sebbene tutte le istruzioni Transact-SQL siano valide nell'ambito di un blocco BEGIN...END, alcune istruzioni Transact-SQL non devono essere raggruppate nello stesso batch o blocco di istruzioni.
Esempi
Nell'esempio seguente BEGIN
ed END
definiscono una serie di istruzioni Transact-SQL eseguite insieme. Se il blocco BEGIN...END
non fosse incluso, verrebbero eseguite entrambe le istruzioni ROLLBACK TRANSACTION
e verrebbero restituiti entrambi i messaggi PRINT
.
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
/*
Rolled back the transaction.
*/
Esempi: Azure Synapse Analytics e Piattaforma di strumenti analitici (PDW)
Nell'esempio seguente BEGIN
ed END
definiscono una serie di istruzioni SQL eseguite insieme. Se il blocco BEGIN...END
non è incluso, l'esempio seguente determinerà un ciclo continuo.
-- Uses AdventureWorks
DECLARE @Iteration Integer = 0;
WHILE @Iteration <10
BEGIN
SELECT FirstName, MiddleName
FROM dbo.DimCustomer WHERE LastName = 'Adams';
SET @Iteration += 1 ;
END;
Vedi anche
ALTER TRIGGER (Transact-SQL)
Control-of-Flow Language (Transact-SQL)
CREATE TRIGGER (Transact-SQL)
FINE (BEGIN... END) (Transact-SQL)
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per