Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
Azure Synapse Analytics
Elemzési platformrendszer (PDW)
SQL Analytics-végpont a Microsoft Fabricben
Raktár a Microsoft Fabricben
SQL-adatbázis a Microsoft Fabricben
Egy sor Transact-SQL utasítást foglal magában, hogy a Transact-SQL utasítások egy csoportja végrehajtható legyen egy logikai kódblokkban.
BEGIN és END a folyamatvezérlési nyelvi kulcsszavak.
Transact-SQL szintaxis konvenciók
Syntax
BEGIN
{ sql_statement | statement_block }
END
Arguments
{ sql_statement | statement_block }
Bármely érvényes Transact-SQL utasítás vagy utasításcsoportozás egy utasításblokk használatával definiálva.
Remarks
BEGIN...END blokkok beágyazhatók.
Bár az összes Transact-SQL utasítás érvényes egy BEGIN...END blokkon belül, bizonyos Transact-SQL utasítások nem csoportosíthatók ugyanabban a kötegben vagy utasításblokkban.
Examples
Az alábbi példában BEGINEND definiáljon egy Transact-SQL utasítássorozatot, amely együtt hajt végre. Ha a BEGIN...END blokk nem szerepel a fájlban, mindkét ROLLBACK TRANSACTION utasítás végrehajtva lesz, és mindkét PRINT üzenet vissza lesz adva.
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
Példák: Azure Synapse Analytics and Analytics Platform System (PDW)
Az alábbi példában BEGINEND definiáljon egy több, együtt futó SQL-utasítást. Ha a BEGIN...END blokk nem szerepel a fájlban, az alábbi példa folyamatos ciklusban fut.
-- Uses AdventureWorksDW
DECLARE @Iteration INT = 0;
WHILE @Iteration < 10
BEGIN
SELECT FirstName,
MiddleName
FROM dbo.DimCustomer
WHERE LastName = 'Adams';
SET @Iteration += 1;
END;