BEGIN...END(Transact-SQL)
적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW) Microsoft Fabric의 SQL 분석 엔드포인트 Microsoft Fabric의 웨어하우스
일련의 Transact-SQL 문을 묶어 Transact-SQL 문 그룹을 논리 코드 블록에서 실행할 수 있도록 합니다. BEGIN
흐름 END
제어 언어 키워드입니다.
구문
BEGIN
{ sql_statement | statement_block }
END
인수
{ sql_statement | statement_block}
문 블록을 사용하여 정의된 유효한 Transact-SQL 문 또는 문 그룹화입니다.
설명
BEGIN...END
블록을 중첩할 수 있습니다.
모든 Transact-SQL 문은 블록 내에서 BEGIN...END
유효하지만 특정 Transact-SQL 문은 동일한 일괄 처리 또는 문 블록 내에서 함께 그룹화해서는 안 됩니다.
예제
다음 예에서 BEGIN
및 END
는 함께 실행되는 일련의 Transact-SQL 문을 정의합니다. 블록이 BEGIN...END
포함되지 않으면 두 문이 모두 ROLLBACK TRANSACTION
실행되고 두 메시지가 모두 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
예: Azure Synapse Analytics 및 분석 플랫폼 시스템(PDW)
다음 예에서 BEGIN
및 END
는 함께 실행되는 일련의 SQL 문을 정의합니다. 블록이 BEGIN...END
포함되지 않은 경우 다음 예제는 연속 루프에서 실행됩니다.
-- Uses AdventureWorksDW
DECLARE @Iteration INT = 0;
WHILE @Iteration < 10
BEGIN
SELECT FirstName,
MiddleName
FROM dbo.DimCustomer
WHERE LastName = 'Adams';
SET @Iteration += 1;
END;