Compartir a través de


Contenedor de bucles For

El contenedor de bucles For define un flujo de control que se repite en un paquete. La implementación del bucle es similar a la estructura de bucle For de los lenguajes de programación. En cada repetición del bucle, el contenedor de bucles For evalúa una expresión y repite el flujo de trabajo hasta que la expresión se evalúe como False.

El contenedor de bucles For utiliza los siguientes elementos para definir el bucle:

  • Una expresión de inicialización opcional que asigna valores a los contadores de bucle.
  • Una expresión de evaluación que contiene la expresión usada para comprobar si el bucle debe detenerse o continuar.
  • Una expresión de iteración opcional que incrementa o disminuye el contador del bucle.

El siguiente diagrama muestra un contenedor de bucles For con una tarea Enviar correo. Si la expresión de inicialización es @Counter = 0, la expresión de evaluación es @Counter < 4 y la expresión de iteración es @Counter = @Counter + 1, el bucle se repetirá cuatro veces y enviará cuatro mensajes de correo electrónico.

Un contenedor de bucles For repite una tarea cuatro veces

Las expresiones deben ser expresiones de SQL Server 2005 Integration Services válidas. Para obtener más información, vea Referencia de expresiones de Integration Services.

Para crear las expresiones de inicialización y asignación, puede utilizar el operador de asignación (=). La gramática de expresiones de Integration Services no admite este operador; sólo se puede utilizar en las expresiones de inicialización y asignación del contenedor de bucles For. Cualquier expresión que utilice el operador de asignación debe tener la sintaxis @Var = <expression>, donde Var es una variable de tiempo de ejecución y <expression> es una expresión que sigue las reglas de sintaxis de SSIS. La expresión puede incluir variables, literales y cualquier operador o función compatible con la gramática de expresiones de SSIS. La evaluación de la expresión debe devolver un tipo de datos que se pueda convertir al tipo de datos de la variable.

Un contenedor de bucles For sólo puede tener una expresión de evaluación. Esto significa que el contenedor de bucles For ejecutará todos los elementos de flujo de control el mismo número de veces. Como el contenedor de bucles For puede incluir otros contenedores de bucles For, es posible generar bucles anidados e implementar bucles complejos en paquetes.

Puede establecer una propiedad de transacción en el contenedor de bucles For para definir una transacción para un subconjunto del flujo de control del paquete. De esta manera, puede administrar las transacciones en mayor detalle. Por ejemplo, si un contenedor de bucles For repite un flujo de control que actualiza los datos de una tabla varias veces, puede configurar el bucle For y su flujo de control para que utilicen una transacción, a fin de asegurarse de que si no se actualizan todos los datos correctamente, no se actualice ningún dato. Para obtener más información, vea Incorporar transacciones en paquetes.

Configurar el contenedor de bucles For

Puede establecer propiedades a través del Diseñador SSIS o mediante programación.

Para obtener más información acerca de las propiedades que puede establecer en el Diseñador SSIS, haga clic en uno de los temas siguientes:

Para obtener más información sobre cómo establecer estas propiedades en el Diseñador SSIS, haga clic en uno de los temas siguientes:

Configurar el contenedor de bucles For mediante programación

Para obtener más información sobre cómo establecer estas propiedades mediante programación, haga clic en el tema siguiente:

Vea también

Conceptos

Crear un flujo de control de paquetes
Contenedores de Integration Services

Ayuda e información

Obtener ayuda sobre SQL Server 2005