BEGIN...END(Transact-SQL)

적용 대상: Microsoft Fabric의 Microsoft FabricWarehouse에 있는 SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsPlatform System(PDW) SQL 분석 엔드포인트

Transact-SQL 문의 그룹을 실행할 수 있도록 일련의 Transact-SQL 문을 묶습니다. BEGIN과 END는 흐름 제어 언어 키워드입니다.

Transact-SQL 구문 표기 규칙

Syntax

BEGIN  
    { sql_statement | statement_block }   
END  

참고 항목

SQL Server 2014(12.x) 및 이전 버전에 대한 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조 하세요.

인수

{ sql_statement | statement_block }
명령문 블록을 사용하여 정의한 유효한 Transact-SQL 문 또는 명령문 그룹입니다.

설명

BEGIN...END 블록은 중첩될 수 있습니다.

BEGIN...END 블록 내의 모든 Transact-SQL 문이 유효해도 특정 Transact-SQL 문을 동일한 일괄 처리 또는 문 블록 내에 그룹화할 수 없습니다.

예제

다음 예에서 BEGINEND는 함께 실행되는 일련의 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  
/*  
Rolled back the transaction.  
*/  

예: Azure Synapse Analytics 및 분석 플랫폼 시스템(PDW)

다음 예에서 BEGINEND는 함께 실행되는 일련의 SQL 문을 정의합니다. BEGIN...END 블록이 포함되지 않은 경우 다음 예제가 연속 반복에 포함됩니다.

-- Uses AdventureWorks  

DECLARE @Iteration Integer = 0;
WHILE @Iteration <10  
BEGIN  
    SELECT FirstName, MiddleName   
    FROM dbo.DimCustomer WHERE LastName = 'Adams';
    SET @Iteration += 1  ;
END;

관련 항목

ALTER TRIGGER(Transact-SQL)
흐름 제어 언어(Transact-SQL)
CREATE TRIGGER(Transact-SQL)
END(BEGIN...END)(Transact-SQL)