For-Schleifencontainer

Der For-Schleifencontainer definiert die Wiederholung einer Ablaufsteuerung in einem Paket. Die Schleifenimplementierung ist mit der For -Schleifenstruktur in Programmiersprachen zu vergleichen. Bei jeder Wiederholung der Schleife wertet der For-Schleifencontainer einen Ausdruck aus und wiederholt dessen Workflow, bis der Ausdruck zu False ausgewertet wird.

Der For-Schleifencontainer verwendet die folgenden Elemente zum Definieren der Schleife:

  • Einen optionalen Initialisierungsausdruck, der den Schleifenzählern Werte zuweist.

  • Einen Auswertungsausdruck, der den Ausdruck enthält, um zu testen, ob die Schleife beendet oder fortgesetzt werden soll.

  • Einen optionalen Iterationsausdruck, der den Schleifenzähler inkrementiert oder reduziert.

Das folgende Diagramm zeigt einen For-Schleifencontainer mit einem Task Mail senden. Falls der Initialisierungsausdruck @Counter = 0ist, lautet der Auswertungsausdruck @Counter < 4. Falls der Iterationsausdruck @Counter = @Counter + 1ist, wird die Schleife viermal wiederholt, und es werden vier E-Mail-Nachrichten gesendet.

Ein For-Schleifencontainer wiederholt eine Aufgabe viermal

Die Ausdrücke müssen für gültige SQL Server Integration Services-Ausdrücke sein.

Zum Erstellen der Initialisierungs- und Zuweisungsausdrücke können Sie den Zuweisungsoperator (=) verwenden. Dieser Operator wird ansonsten nicht von der SQL Server Integration Services-Ausdrucksgrammatik unterstützt und kann nur von Initialisierungs- und Zuweisungsausdrücken im For-Schleifencontainer verwendet werden. Jeder Ausdruck, der den Zuweisungsoperator verwendet, erfordert die Syntax @Var = <expression>. Hierbei ist Var eine Laufzeitvariable, und <expression> ist ein Ausdruck, der den Regeln der SSIS-Ausdruckssyntax entspricht. Für diesen Ausdruck sind die Variablen, Literale sowie Operatoren und Funktionen zulässig, die von der SSIS-Ausdrucksgrammatik unterstützt werden. Der Ausdruck muss zu einem Datentyp ausgewertet werden, der in den Datentyp der Variablen umgewandelt werden kann.

Für einen For-Schleifencontainer ist nur ein Auswertungsausdruck zulässig. Dies bedeutet, dass der For-Schleifencontainer alle Ablaufsteuerungselemente mit der gleichen Häufigkeit ausführt. Der For-Schleifencontainer kann andere For-Schleifencontainer enthalten, sodass Sie geschachtelte Schleifen erstellen und komplexe Schleifen in Pakete implementieren können.

Sie können eine Transaktionseigenschaft für den For-Schleifencontainer festlegen, um eine Transaktion für eine Teilmenge der Paketablaufsteuerung zu definieren. Auf diese Weise können Sie Transaktionen mit feinerer Granularität verwalten. Angenommen, ein For-Schleifencontainer wiederholt eine Ablaufsteuerung, die Daten in einer Tabelle mehrmals aktualisiert. In diesem Fall können Sie für die For-Schleife und deren Ablaufsteuerung die Verwendung einer Transaktion konfigurieren, um sicherzustellen, dass entweder alle oder überhaupt keine Daten aktualisiert werden. Weitere Informationen finden Sie unter Integration Services-Transaktionen.

Konfiguration des For-Schleifencontainers

Sie können Eigenschaften mit dem SSIS -Designer oder programmgesteuert festlegen.

Klicken Sie auf eines der folgenden Themen, um weitere Informationen zu den Eigenschaften zu erhalten, die Sie im SSIS -Designer festlegen können:

Weitere Informationen zum programmgesteuerten Festlegen dieser Eigenschaften finden Sie in der Dokumentation zur T:Microsoft.SqlServer.Dts.Runtime.ForLoop -Klasse im Entwicklerhandbuch.

Informationen zum Konfigurieren eines For-Schleifencontainers finden Sie in den nachfolgenden Themen.

Weitere Informationen

Ablaufsteuerung
Integration Services-Ausdrücke (SSIS)