Conteneur de boucles For

Le conteneur de boucles For définit un flux de contrôle répétitif dans un package. La mise en œuvre de la boucle est similaire à la structure de bouclage For des langages de programmation. Dans chaque répétition de la boucle, le conteneur de boucles For évalue une expression et répète son flux de travail jusqu'à ce que l'expression renvoie la valeur False.

Le conteneur de boucle For utiliseles éléments suivants pour définir la boucle :

  • Une expression d'initialisation facultative qui attribue des valeurs aux compteurs de la boucle

  • Une expression d'évaluation qui permet de déterminer si la boucle doit s'arrêter ou continuer

  • Une expression d'itération facultative qui incrémente ou décrémente le compteur de la boucle

Le schéma suivant illustre un conteneur de boucles For avec une tâche Envoyer un message. Si l'expression d'initialisation est @Counter = 0, que l'expression d'évaluation est @Counter < 4 et que l'expression d'itération est @Counter = @Counter + 1, la boucle se répète quatre fois et envoie quatre messages électroniques.

Un conteneur de boucles For répète une tâche quatre fois.

Les expressions doivent être des expressions SQL Server Integration Services valides. Pour plus d'informations, consultez Informations de référence des expressions Integration Services.

Pour créer les expressions d'initialisation et d'assignation, vous pouvez utiliser l'opérateur d'affectation (=). Cet opérateur n'est pas pris en charge par la grammaire d'expression Integration Services et ne peut être utilisé que par les types d'expression d'initialisation et d'assignation du conteneur de boucles For. Toute expression qui utilise l'opérateur d'affectation doit contenir la syntaxe @Var = <expression>, où Var représente une variable d'exécution et <expression> indique une expression qui suit les règles de la syntaxe d'expression SSIS. L'expression peut comprendre les variables, les littéraux et l'ensemble des opérateurs et des fonctions pris en charge par la grammaire d'expression SSIS. L'expression doit correspondre à une valeur dont le type de données peut être converti vers le type de données de la variable.

Un conteneur de boucles For ne peut avoir qu'une seule expression d'évaluation. Par conséquent, le conteneur de boucles For exécute tous ses éléments de flux de contrôle le même nombre de fois. Étant donné que le conteneur de boucles For peut comprendre d'autres conteneurs de boucles For, vous pouvez créer des boucles imbriquées et mettre en œuvre un bouclage complexe dans les packages.

Vous pouvez configurer une propriété de transaction sur le conteneur de boucles For afin de définir une transaction pour un sous-ensemble du flux de contrôle du package. Ainsi, vous pouvez gérer les transactions de façon plus précise. Par exemple, si un conteneur de boucles For répète un flux de contrôle qui met à jour plusieurs fois les données d'une table, vous pouvez configurer la boucle For et son flux de contrôle de manière à utiliser une transaction empêchant toute mise à jour si toutes les données ne sont pas mises à jour correctement. Pour plus d'informations, consultez Garantie de l'intégrité des données à l'aide de transactions.

Configuration du conteneur de boucles For

Vous pouvez définir les propriétés par le biais du concepteur SSIS ou par programme.

Pour plus d'informations sur les propriétés définissables dans le concepteur SSIS, cliquez sur l'une des rubriques suivantes :

Pour plus d'informations sur la définition de ces propriétés dans le concepteur SSIS, cliquez sur l'une des rubriques suivantes :

Configuration du conteneur de boucles For par programme

Pour plus d'informations sur la définition par programme de ces propriétés, cliquez sur la rubrique suivante :

Icône Integration Services (petite) Rester à jour avec Integration Services

Pour obtenir les derniers téléchargements, articles, exemples et vidéos de Microsoft, ainsi que des solutions sélectionnées par la communauté, visitez la page Integration Services sur MSDN ou TechNet :

Pour recevoir une notification automatique de ces mises à jour, abonnez-vous aux flux RSS disponibles sur la page.