Contenitore Ciclo For

Il contenitore Ciclo For definisce un flusso di controllo ripetuto all'interno di un pacchetto. L'implementazione del ciclo è simile alla struttura del ciclo For nei linguaggi di programmazione. A ogni ripetizione del ciclo il contenitore Ciclo For valuta un'espressione e ne ripete il flusso di lavoro finché tale espressione non restituisce False.

Per definire il ciclo, il contenitore Ciclo For utilizzagli elementi seguenti:

  • Un'espressione di inizializzazione facoltativa che assegna valori ai contatori del ciclo.

  • Un'espressione di valutazione che contiene l'espressione utilizzata per stabilire se il ciclo deve essere interrotto o continuare.

  • Un'espressione di iterazione facoltativa che incrementa o decrementa il contatore del ciclo.

Nella figura seguente viene illustrato un contenitore Ciclo For con un'attività Invia messaggi. Se l'espressione di inizializzazione è @Counter = 0, l'espressione di valutazione è @Counter < 4 e l'espressione di iterazione è @Counter = @Counter + 1, il ciclo si ripeterà quattro volte e invierà quattro messaggi di posta elettronica.

Un contenitore Ciclo For ripete un'attività quattro volte

Le espressioni devono essere espressioni di SQL ServerIntegration Services valide. Per ulteriori informazioni, vedere Guida di riferimento alle espressioni in Integration Services.

Per creare le espressioni di inizializzazione e assegnazione, è possibile utilizzare l'operatore di assegnazione (=). In altre circostanze questo operatore non è supportato dalla grammatica delle espressioni di Integration Services, ma può essere utilizzato solo dai tipi di espressione di inizializzazione e assegnazione nel contenitore Ciclo For. Tutte le espressioni che utilizzano l'operatore di assegnazione devono avere sintassi @Var = <expression>, dove Var è una variabile di run-time ed <expression> è un'espressione che segue le regole della sintassi delle espressioni di SSIS. L'espressione può includere le variabili, i valori letterali e tutti gli operatori e le funzioni supportati dalla grammatica delle espressioni di SSIS. L'espressione deve restituire un tipo di dati di cui è possibile eseguire il cast al tipo di dati della variabile.

Un contenitore Ciclo For può includere una sola espressione di valutazione, pertanto esegue tutti gli elementi del flusso di controllo per lo stesso numero di volte. Poiché un contenitore Ciclo For può includere altri contenitori Ciclo For, nei pacchetti è possibile creare cicli nidificati e implementare loop complessi.

È possibile impostare una proprietà di transazione sul contenitore Ciclo For per definire una transazione per un subset del flusso di controllo del pacchetto. In questo modo è possibile gestire le transazioni con un livello di granularità superiore. Se ad esempio un contenitore Ciclo For ripete un flusso di controllo che aggiorna più volte i dati di una tabella, sarà possibile configurare il ciclo For e il relativo flusso di controllo per l'utilizzo di una transazione, in modo da assicurare che se non è possibile aggiornare correttamente tutti i dati, non ne verrà aggiornato alcuno. Per ulteriori informazioni, vedere Inserimento di transazioni nei pacchetti.

Configurazione del contenitore Ciclo For

È possibile impostare le proprietà tramite Progettazione SSIS o a livello di programmazione.

Per ulteriori informazioni sulle proprietà che è possibile impostare in Progettazione SSIS, fare clic su uno degli argomenti seguenti:

Per ulteriori informazioni sull'impostazione di queste proprietà in Progettazione SSIS, fare clic su uno degli argomenti seguenti:

Configurazione del contenitore Ciclo For a livello di programmazione

Per ulteriori informazioni sull'impostazione di queste proprietà a livello di programmazione, fare clic sull'argomento seguente:

Icona di Integration Services (piccola) Rimanere aggiornati con Integration Services

Per informazioni sui download, gli articoli, gli esempi e i video Microsoft più recenti, nonché sulle soluzioni selezionate dalla community, visitare la pagina Integration Services su MSDN o Technet:

Per ricevere notifiche automatiche su questi aggiornamenti, sottoscrivere i feed RSS disponibili nella pagina.