Megosztás:


Huroktároló esetén

A következőkre vonatkozik:SQL Server SSIS integrációs futtatókörnyezet az Azure Data Factory-ban

A For Loop tároló ismétlődő vezérlőfolyamatot határoz meg egy csomagban. A hurok megvalósítása hasonló a programozási nyelvek for ciklusszerkezetéhez. A ciklus minden ismétlése során a For Loop-tároló kiértékel egy kifejezést, és megismétli a munkafolyamatot, amíg a kifejezés false (Hamis) értékre nem kerül.

A For Loop-tároló a következő elemeket használja a ciklus definiálásához:

  • Nem kötelező inicializálási kifejezés, amely értékeket rendel a hurokszámlálókhoz.

  • Egy kiértékelési kifejezés, amely a ciklus leállításának vagy folytatásának ellenőrzéséhez használt kifejezést tartalmazza.

  • Választható iterációs kifejezés, amely növeli vagy lassítja a hurokszámlálót.

Az alábbi ábrán egy For Loop-tároló látható, amely küldési feladattal rendelkezik. Ha az inicializálási kifejezés az @Counter = 0, akkor a kiértékelési kifejezés @Counter < 4, az iterációs kifejezés pedig az @Counter = @Counter + 1, a ciklus négyszer ismétlődik, és négy e-mailt küld.

A For Loop-tároló négyszer ismétel meg egy feladatot

A kifejezéseknek érvényes SQL Server Integration Services-kifejezéseknek kell lenniük.

Az inicializálási és hozzárendelési kifejezések létrehozásához használhatja a hozzárendelési operátort (=). Ezt az operátort egyébként nem támogatja az Integration Services kifejezés nyelvtana, és csak a For Loop tároló inicializálási és hozzárendelési kifejezéstípusai használhatják. A hozzárendelési operátort használó kifejezéseknek rendelkezniük kell a szintaxissal @Var = <expression>, ahol a Var futásidejű változó, a <kifejezés> pedig az SSIS-kifejezés szintaxisának szabályait követő kifejezés. A kifejezés tartalmazhat változókat, literálokat, valamint az SSIS-kifejezés nyelvhelyességi által támogatott operátorokat és függvényeket. A kifejezésnek olyan adattípusra kell kiértékelnie, amely átalakíthatóvá tehető a változó adattípusává.

A For Loop-tárolók csak egy kiértékelési kifejezéssel rendelkezhetnek. Ez azt jelenti, hogy a For Loop-tároló az összes vezérlőfolyamat-elemet ugyanannyi alkalommal futtatja. Mivel a For Loop tároló más For Loop-tárolókat is tartalmazhat, beágyazott hurkokat hozhat létre, és összetett hurkokat implementálhat a csomagokban.

A For Loop tárolóban beállíthat egy tranzakciótulajdonságot a csomagvezérlési folyamat egy részhalmazának tranzakciójának meghatározásához. Ily módon részletesebben kezelheti a tranzakciókat. Ha például egy For Loop-tároló olyan vezérlőfolyamatot ismétel meg, amely egy táblában többször frissíti az adatokat, konfigurálhatja a For Loopot és annak vezérlőfolyamatát úgy, hogy tranzakciót használjon annak biztosítására, hogy ha nem minden adat frissül sikeresen, ne frissüljenek az adatok. További információ: Integration Services-tranzakciók.

Iteráció hozzáadása egy vezérlőfolyamathoz a For Loop-tárolóval

Az Integration Services tartalmazza a For Loop tárolót, egy vezérlőfolyamat-elemet, amely egyszerűvé teszi a hurkok kialakítását, hogy feltételesen ismételje meg a vezérlőfolyamatot egy csomagban. További információ: For Loop Container.

A For Loop-tároló kiértékel egy feltételt a ciklus minden iterációján, és leáll, amikor a feltétel értéke hamis. A For Loop tároló kifejezéseket tartalmaz a ciklus inicializálásához, megadja az ismétlődő vezérlőfolyamat végrehajtását leállító kiértékelési feltételt, és egy olyan kifejezéshez rendel egy értéket, amely frissíti a kiértékelési feltétel összehasonlítási értékét. Kiértékelési feltételt kell megadnia, de az inicializálás és a hozzárendelési kifejezések megadása nem kötelező.

A For Loop tároló nem biztosít funkcionalitást; Csak azt a struktúrát biztosítja, amelyben az ismétlődő vezérlési folyamatot létrehozza. A tárolófunkciók biztosításához legalább egy feladatot bele kell foglalnia a For Loop tárolóba. További információt az Integrációs szolgáltatások feladatai című témakörben talál.

A For Loop tároló tartalmazhat egy több feladatot tartalmazó vezérlőfolyamatot, és más tárolókat is tartalmazhat. A Tevékenységek és tárolók for Loop-tárolókhoz való hozzáadása hasonló a csomagokhoz való hozzáadáshoz, kivéve, ha a feladatokat és tárolókat a For Loop tárolóba húzza a csomag helyett. Ha a For Loop-tároló több feladatot vagy tárolót is tartalmaz, a csomaghoz hasonlóan elsőbbséget élvező korlátozások használatával is csatlakoztathatja őket. További információ: Elsőbbségi korlátozások.

For Loop-tároló hozzáadása egy vezérlőfolyamatban

  1. Adja hozzá a For Loop tárolót a csomaghoz. További információ: Tevékenység vagy tároló hozzáadása vagy törlése egy vezérlőfolyamatban.

  2. Tevékenységek és tárolók hozzáadása a For Loop tárolóhoz. További információ: Tevékenység vagy tároló hozzáadása vagy törlése egy vezérlőfolyamatban.

  3. A For Loop tárolóban lévő tevékenységek és tárolók összekapcsolása elsőbbséget élvező korlátozások használatával. További információ: Tevékenységek és tárolók csatlakoztatása alapértelmezett elsőbbségi kényszer használatával.

  4. Konfigurálja a For Loop tárolót.

A For Loop-tároló konfigurálása

Ez az eljárás azt ismerteti, hogyan konfigurálhat egy For Loop-tárolót a For Loop Editor párbeszédpanel használatával.

  1. Az SQL Server Data Tools (SSDT) alkalmazásban kattintson duplán a For Loop tárolóra a For Loop Editor megnyitásához.

  2. Igény szerint módosítsa a For Loop-tároló nevét és leírását.

  3. Ha szeretné, írjon be egy inicializálási kifejezést az InitExpression szövegmezőbe.

  4. Írjon be egy kiértékelési kifejezést az EvalExpression szövegmezőbe.

    Megjegyzés:

    A kifejezésnek logikai értékre kell kiértékelődnie. Ha a kifejezés értéke hamis, a ciklus leáll.

  5. Ha szeretné, írjon be egy hozzárendelési kifejezést a AssignExpression szövegmezőbe.

  6. Ha szeretné, kattintson a Kifejezések elemre, és a Kifejezések lapon hozzon létre tulajdonságkifejezéseket a For Loop-tároló tulajdonságaihoz. További információ: Tulajdonságkifejezés hozzáadása vagy módosítása.

  7. Kattintson az OK gombra a For Loop Editor bezárásához.

For Loop szerkesztő párbeszédablak

A For Loop Editor párbeszédpanel For Loop lapján konfigurálhat egy ciklust, amely addig ismétlődik, amíg egy megadott feltétel hamisra nem értékelődik.

A For Loop-tárolóról és a csomagokban való használatáról a Huroktároló című témakörben olvashat.

Beállítások

InitExpression
Igény szerint adjon meg egy kifejezést, amely inicializálja a ciklus által használt értékeket.

EvalExpression
Adjon meg egy kifejezést, amely kiértékeli, hogy a hurok leáll-e vagy folytatódik-e.

AssignExpression
Igény szerint adjon meg egy kifejezést, amely minden alkalommal módosít egy feltételt, amikor a ciklus ismétlődik.

Név
Adjon meg egy egyedi nevet a For Loop-tárolónak. Ezt a nevet használja a feladatikon címkeként.

Megjegyzés:

Az objektumneveknek egyedinek kell lenniük egy csomagon belül.

Leírás
Adja meg a For Loop tároló leírását.

Kifejezések használata a For Loop-tárolóval

Ha a For Loop-tárolót egy kiértékelési feltétel, inicializálási érték vagy hozzárendelési érték megadásával konfigurálja, literálokat vagy kifejezéseket is használhat.

A kifejezések tartalmazhatnak változókat. A változók használatának előnye, hogy futtatáskor frissíthetők, így a csomagok rugalmasabbak és könnyebben kezelhetők. Egy kifejezés maximális hossza 4000 karakter.

Amikor változót ad meg egy kifejezésben, elő kell írnia a változó nevét az at (@) jellel. Egy Számláló nevű változó esetében például írja be @Counter abba a kifejezésbe, amelyet a For Loop-tároló használ. Ha a névtér tulajdonságot a változóra helyezi, zárójelek közé kell foglalnia a változót és a névteret. Például a MyNamespace névtérben lévő Számláló változóhoz írja be a következőt: [@MyNamespace::Counter].

A For Loop-tároló által használt változókat a For Loop tároló hatókörében vagy a csomagtároló hierarchiájában magasabb tároló hatókörében kell definiálni. A For Loop-tárolók például használhatják a hatókörében definiált változókat és a csomag hatókörében definiált változókat is. További információ: Integration Services (SSIS) változók és változók használata a csomagokban.

Az SSIS-kifejezés nyelvtana operátorok és függvények teljes készletét biztosítja a kiértékeléshez, inicializáláshoz vagy hozzárendeléshez használt összetett kifejezések implementálásához. További információ: Integration Services (SSIS) kifejezések.

Lásd még:

Vezérlési folyamat
Integration Services (SSIS) Kifejezések