다음을 통해 공유


포 루프 컨테이너

For 루프 컨테이너는 패키지의 반복 제어 흐름을 정의합니다. 루프 구현은 프로그래밍 언어의 For 루프 구조와 유사합니다. 루프의 각 반복에서 For 루프 컨테이너는 식을 평가하여 그 결과가 False가 될 때까지 워크플로를 반복합니다.

For 루프 컨테이너는 다음 요소를 사용하여 루프를 정의합니다.

  • 루프 카운터에 값을 할당하는 선택적 초기화 식입니다.

  • 루프를 중지할지 계속해야 하는지 여부를 테스트하는 데 사용되는 식을 포함하는 계산 식입니다.

  • 루프 카운터를 증가 또는 감소시키는 선택적 반복 식입니다.

다음 다이어그램에서는 메일 보내기 작업이 있는 For 루프 컨테이너를 보여 드립니다. 초기화 식이 @Counter = 0이고, 평가 식이 @Counter < 4, 반복 식이 @Counter = @Counter + 1인 경우, 루프는 네 번 반복되며 4개의 전자 메일 메시지를 보냅니다.

For 루프 컨테이너는 작업을 네 번 반복합니다

식은 반드시 유효한 SQL Server Integration Services 식이어야 합니다.

초기화 및 할당 식을 만들려면 대입 연산자(=)를 사용할 수 있습니다. 이 연산자는 Integration Services 식 문법에서 지원되지 않으며 For 루프 컨테이너의 초기화 및 할당 식 형식에서만 사용할 수 있습니다. 할당 연산자를 사용하는 식에는 구문 @Var = <expression>이 있어야 합니다. 여기서 Var 은 런타임 변수이고 <식> 은 SSIS 식 구문의 규칙을 따르는 식입니다. 식에는 변수, 리터럴 및 SSIS 식 문법에서 지원하는 모든 연산자 및 함수가 포함될 수 있습니다. 식은 변수의 데이터 형식으로 캐스팅할 수 있는 데이터 형식으로 계산되어야 합니다.

For 루프 컨테이너에는 하나의 평가 식만 있을 수 있습니다. 즉, For 루프 컨테이너는 모든 제어 흐름 요소를 동일한 횟수만큼 실행합니다. For 루프 컨테이너는 다른 For 루프 컨테이너를 포함할 수 있으므로 중첩된 루프를 빌드하고 패키지에서 복잡한 루프를 구현할 수 있습니다.

For 루프 컨테이너에서 트랜잭션 속성을 설정하여 패키지 제어 흐름의 하위 집합에 대한 트랜잭션을 정의할 수 있습니다. 이러한 방식으로 보다 세분화된 수준에서 트랜잭션을 관리할 수 있습니다. 예를 들어 For 루프 컨테이너가 테이블의 데이터를 여러 번 업데이트하는 제어 흐름을 반복하는 경우 트랜잭션을 사용하도록 For 루프 및 해당 제어 흐름을 구성하여 모든 데이터가 성공적으로 업데이트되지 않은 경우 데이터가 업데이트되지 않도록 할 수 있습니다. 자세한 내용은 Integration Services 트랜잭션을 참조하세요.

For 루프 컨테이너 설정

SSIS 디자이너를 사용하거나 프로그래밍 방식으로 속성을 설정할 수 있습니다.

SSIS 디자이너에서 설정할 수 있는 속성에 대한 자세한 내용은 다음 항목 중 하나를 클릭합니다.

이러한 속성을 프로그래밍 방식으로 설정하는 방법에 대한 자세한 내용은 개발자 가이드의 T:Microsoft.SqlServer.Dts.Runtime.ForLoop 클래스에 대한 설명서를 참조하세요.

For 루프 컨테이너를 구성하는 방법에 대한 자세한 내용은 다음 항목을 참조하세요.

또한 참조하십시오

제어 흐름
Integration Services(SSIS) 식