적용 대상:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
분석 플랫폼 시스템(PDW)
Microsoft Fabric의 SQL 분석 엔드포인트
Microsoft Fabric의 웨어하우스
Microsoft Fabric의 SQL 데이터베이스
일련의 Transact-SQL 문을 묶어 Transact-SQL 문 그룹을 논리 코드 블록에서 실행할 수 있도록 합니다.
BEGIN 흐름 END 제어 언어 키워드입니다.
Syntax
BEGIN
{ sql_statement | statement_block }
END
Arguments
{ sql_statement | statement_block}
문 블록을 사용하여 정의된 유효한 Transact-SQL 문 또는 문 그룹화입니다.
Remarks
BEGIN...END 블록을 중첩할 수 있습니다.
모든 Transact-SQL 문은 블록 내에서 BEGIN...END 유효하지만 특정 Transact-SQL 문은 동일한 일괄 처리 또는 문 블록 내에서 함께 그룹화해서는 안 됩니다.
Examples
다음 예에서 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;