Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
SSIS Integration Runtime ve službě Azure Data Factory
Kontejner For Loop definuje opakující se tok řízení v balíčku. Implementace smyčky je podobná struktuře smyčky For v programovacích jazycích. Při každém opakování smyčky kontejner For Loop vyhodnotí výraz a opakuje svůj pracovní postup, dokud se výraz vyhodnotí jako Nepravda.
Kontejner For Loop používá k definování smyčky následující prvky:
Volitelný inicializační výraz, který přiřazuje hodnoty čítačům smyčky.
Výraz vyhodnocení, který obsahuje výraz použitý k otestování, jestli se má smyčka zastavit nebo pokračovat.
Volitelný iterační výraz, který zvýší nebo sníží čítač smyčky.
Následující diagram znázorňuje kontejner For Loop s úlohou Odeslat poštu. Pokud je @Counter = 0inicializační výraz , výraz vyhodnocení je @Counter < 4a výraz iterace je @Counter = @Counter + 1, smyčka se opakuje čtyřikrát a odesílá čtyři e-mailové zprávy.
Výrazy musí být platné výrazy služby SQL Server Integration Services.
K vytvoření výrazů inicializace a přiřazení můžete použít operátor přiřazení (=). Tento operátor není jinak podporován gramatikou výrazu Integration Services a může být používán pouze výrazy inicializace a přiřazení v kontejneru For Loop. Libovolný výraz, který používá operátor přiřazení, musí mít syntaxi @Var = <expression>, kde Var je proměnná za běhu a <výraz je výraz> , který se řídí pravidly syntaxe výrazu SSIS. Výraz může obsahovat proměnné, literály a všechny operátory a funkce, které podporuje gramatika výrazu SSIS. Výraz musí být vyhodnocen jako datový typ, který může být převeden na datový typ proměnné.
Kontejner for Loop může mít pouze jeden vyhodnocovací výraz. To znamená, že kontejner For Loop spustí všechny prvky řízení toku stejným počtem opakování. Protože kontejner For Loop může obsahovat další kontejnery for Loop, můžete sestavovat vnořené smyčky a implementovat složité smyčky v balíčcích.
Můžete nastavit vlastnost transakce v kontejneru For Loop definovat transakci pro podmnožinu toku řízení balíčku. Tímto způsobem můžete spravovat transakce na podrobnější úrovni. Pokud například kontejner For Loop opakuje tok řízení, který aktualizuje data v tabulce několikrát, můžete nakonfigurovat smyčku For a její tok řízení tak, aby používal transakci, aby se zajistilo, že pokud nejsou všechna data úspěšně aktualizována, nebudou se aktualizovat žádná data. Další informace naleznete v tématu Transakce Integrační služby.
Přidání iterace do toku řízení pomocí kontejneru smyčky For
Integrační služby zahrnují kontejner For Loop, element toku řízení, který usnadňuje zahrnutí smyčky, která podmíněně opakuje tok řízení v balíčku. Další informace najdete v tématu Kontejner smyčky.
Kontejner For Loop vyhodnotí podmínku pro každou iteraci smyčky a zastaví se, když se podmínka vyhodnotí jako nepravda. Kontejner For Loop obsahuje výrazy pro inicializaci smyčky, určení podmínky vyhodnocení, která zastaví provádění opakujícího se toku řízení, a přiřazení hodnoty výrazu, který aktualizuje hodnotu, se kterou se porovnává podmínka vyhodnocení. Musíte zadat podmínku pro vyhodnocení, ale inicializace a výrazy pro přiřazení jsou volitelné.
Kontejner For Loop neposkytuje žádné funkce; poskytuje pouze strukturu, ve které vytváříte opakovatelný tok řízení. Pokud chcete poskytovat funkce kontejneru, musíte do kontejneru For Loop zahrnout alespoň jeden úkol. Další informace naleznete v tématu Úlohy integračních služeb.
Kontejner For Loop může obsahovat tok řízení s více úlohami a může obsahovat další kontejnery. Přidání úkolů a kontejnerů do kontejneru For Loop se podobá jejich přidání do balíčku, kromě toho, že úkoly a kontejnery přetáhnete do kontejneru For Loop místo do balíčku. Pokud kontejner For Loop obsahuje více než jeden úkol nebo kontejner, můžete je připojit pomocí omezení priority stejně jako v balíčku. Další informace naleznete v tématu Omezení priority.
Do kontrolního toku přidejte kontejner smyčky For
Přidejte do balíčku kontejner For Loop. Další informace najdete v tématu Přidání nebo odstranění úlohy nebo kontejneru v toku řízení.
Přidejte úkoly a kontejnery do kontejneru For Loop. Další informace najdete v tématu Přidání nebo odstranění úlohy nebo kontejneru v toku řízení.
Propojení úloh a kontejnerů v kontejneru For Loop s využitím omezení priority Další informace najdete v tématu Připojení úkolů a kontejnerů pomocí výchozího omezení priority.
Nakonfigurujte kontejner For Loop.
Konfigurace kontejneru for loop
Tento postup popisuje, jak nakonfigurovat kontejner For Loop pomocí dialogového okna Editor smyčky For.
V nástrojích SQL Server Data Tools (SSDT) poklikejte na kontejner For Loop a otevřete Editor For Loopu.
Volitelně můžete upravit název a popis kontejneru For Loop.
Volitelně můžete do textového pole InitExpression zadat inicializační výraz.
Do textového pole EvalExpression zadejte výraz vyhodnocení.
Poznámka:
Výraz musí být vyhodnocen jako logická hodnota. Když se výraz vyhodnotí jako false, smyčka se zastaví.
Volitelně zadejte výraz přiřazení do textového pole AssignExpression .
Volitelně můžete kliknout na Výrazy a na stránce Expressions vytvořit výrazy vlastností pro vlastnosti kontejneru For Loop. Další informace naleznete v tématu Přidání nebo změna výrazu vlastnosti.
Klikněte na OK pro zavření For Loop editoru.
Dialogové okno Editor cyklu For
Použijte stránku For Loop v dialogovém okně Editor For smyčky k nakonfigurování smyčky, která opakuje průběh pracovní činnosti, dokud se zadaná podmínka vyhodnotí jako nepravdivá.
Další informace o kontejneru For Loop a jeho použití v balíčcích najdete v části Kontejner For Loop.
Možnosti
InitExpression
Volitelně můžete zadat výraz, který inicializuje hodnoty používané smyčkou.
EvalExpression
Zadejte výraz, který vyhodnotí, jestli se má smyčka zastavit nebo pokračovat.
AssignExpression
Volitelně můžete zadat výraz, který změní podmínku pokaždé, když se smyčka opakuje.
název
Zadejte jedinečný název kontejneru For Loop. Tento název se používá jako popisek v ikoně úkolu.
Poznámka:
Názvy objektů musí být v rámci balíčku jedinečné.
Popis
Zadejte popis kontejneru For Loop.
Použití výrazů s kontejnerem For Loop
Při konfiguraci kontejneru For Loop zadáním podmínky vyhodnocení, inicializační hodnoty nebo hodnoty přiřazení můžete použít literály nebo výrazy.
Výrazy mohou obsahovat proměnné. Výhodou použití proměnných je, že je možné je aktualizovat za běhu, což usnadňuje správu balíčků. Maximální délka výrazu je 4000 znaků.
Když zadáte proměnnou ve výrazu, musíte před názvem proměnné zadat znak at (@). Například pro proměnnou s názvem Counter zadejte ve výrazu, který používá kontejner For Loop, hodnotu @Counter. Pokud do proměnné zahrnete vlastnost oboru názvů, musíte proměnnou a obor názvů uzavřít do závorek. Například pro proměnnou Counter v oboru názvů MyNamespace zadejte [@MyNamespace::Counter].
Proměnné, které kontejner For Loop používá, musí být definovány v oboru kontejneru For Loop nebo v oboru jakéhokoli kontejneru, který je vyšší v hierarchii kontejneru balíčku. Kontejner For Loop může například používat proměnné definované v oboru a také proměnné definované v oboru balíčku. Další informace naleznete v tématu Proměnné služby SSIS (Integration Services) a použití proměnných v balíčcích.
Gramatika výrazu SSIS poskytuje úplnou sadu operátorů a funkcí pro implementaci složitých výrazů používaných k vyhodnocení, inicializaci nebo přiřazení. Další informace najdete v tématu Výrazy SSIS (Integration Services).
Viz také
Řízení toku
výrazů služby SSIS (