BEGIN...END (Transact-SQL)
S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Point de terminaison analytique SQL dans Microsoft FabricEntrepôt dans Microsoft Fabric
Délimite une série d'instructions Transact-SQL pour permettre l'exécution groupée d'instructions Transact-SQL. BEGIN et END sont des mots clés du langage de contrôle de flux.
Conventions de la syntaxe Transact-SQL
Syntaxe
BEGIN
{ sql_statement | statement_block }
END
Remarque
Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 (12.x) et versions antérieures, consultez la Documentation sur les versions antérieures.
Arguments
{ sql_statement | statement_block }
Représente toute instruction ou tout groupe d'instructions Transact-SQL valide tel que défini dans un bloc d'instructions.
Remarques
Les blocs BEGIN...END peuvent être imbriqués.
Bien que toutes les instructions Transact-SQL soient valides à l’intérieur d’un bloc BEGIN…END, certaines instructions Transact-SQL ne doivent pas être regroupées dans un même lot, ou un bloc d’instructions.
Exemples
Dans l'exemple suivant, BEGIN
et END
délimitent une série d'instructions Transact-SQL qui sont exécutées ensemble. Si le bloc BEGIN...END
ne figurait pas dans l'exemple, les deux instructions ROLLBACK TRANSACTION
seraient exécutées et les deux messages PRINT
seraient renvoyés.
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.
*/
Exemples : Azure Synapse Analytics et Analytics Platform System (PDW)
Dans l’exemple suivant, BEGIN
et END
définissent une série d’instructions SQL qui s’exécutent ensemble. Si le bloc BEGIN...END
n’est pas inclus, l’exemple suivant est dans une boucle continue.
-- Uses AdventureWorks
DECLARE @Iteration Integer = 0;
WHILE @Iteration <10
BEGIN
SELECT FirstName, MiddleName
FROM dbo.DimCustomer WHERE LastName = 'Adams';
SET @Iteration += 1 ;
END;
Voir aussi
ALTER TRIGGER (Transact-SQL)
Langage de contrôle de flux (Transact-SQL)
CREATE TRIGGER (Transact-SQL)
END (BEGIN...END) (Transact-SQL)
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour