Bagikan melalui


Untuk Kontainer Perulangan

Berlaku untuk: SQL Server SSIS Integration Runtime di Azure Data Factory

Kontainer For Loop menentukan alur kontrol berulang dalam paket. Implementasi perulangan mirip dengan struktur perulangan For dalam bahasa pemrograman. Dalam setiap pengulangan perulangan, kontainer For Loop mengevaluasi ekspresi dan mengulangi alur kerjanya hingga ekspresi mengevaluasi ke False.

Kontainer For Loop menggunakan elemen berikut untuk menentukan perulangan:

  • Ekspresi inisialisasi opsional yang menetapkan nilai ke penghitung perulangan.

  • Ekspresi evaluasi yang berisi ekspresi yang digunakan untuk menguji apakah perulangan harus berhenti atau berlanjut.

  • Ekspresi perulangan opsional yang menaikkan atau mengurangi penghitung perulangan.

Diagram berikut menunjukkan kontainer For Loop dengan tugas Kirim Email. Jika ekspresi inisialisasi adalah @Counter = 0, ekspresi evaluasi adalah @Counter < 4, dan ekspresi perulangan adalah @Counter = @Counter + 1, perulangan berulang empat kali dan mengirim empat pesan email.

Kontainer For Loop mengulangi tugas empat kali

Ekspresi harus berupa ekspresi SQL Server Integration Services yang valid.

Untuk membuat ekspresi inisialisasi dan penugasan, Anda dapat menggunakan operator penugasan (=). Operator ini tidak didukung oleh tata bahasa ekspresi Layanan Integrasi dan hanya dapat digunakan oleh jenis ekspresi inisialisasi dan penugasan dalam kontainer For Loop. Ekspresi apa pun yang menggunakan operator penugasan harus memiliki sintaks @Var = <expression>, di mana Var adalah variabel dan <ekspresi> run-time adalah ekspresi yang mengikuti aturan sintaks ekspresi SSIS. Ekspresi dapat mencakup variabel, literal, dan operator dan fungsi apa pun yang didukung tata bahasa ekspresi SSIS. Ekspresi harus mengevaluasi ke jenis data yang dapat ditransmisikan ke jenis data variabel.

Kontainer For Loop hanya dapat memiliki satu ekspresi evaluasi. Ini berarti bahwa kontainer For Loop menjalankan semua elemen alur kontrolnya dalam jumlah yang sama. Karena kontainer For Loop dapat menyertakan kontainer For Loop lainnya, Anda dapat membangun perulangan berlapis dan menerapkan perulangan kompleks dalam paket.

Anda dapat mengatur properti transaksi pada kontainer For Loop untuk menentukan transaksi untuk subset alur kontrol paket. Dengan cara ini, Anda dapat mengelola transaksi pada tingkat yang lebih terperinci. Misalnya, jika kontainer For Loop mengulangi alur kontrol yang memperbarui data dalam tabel beberapa kali, Anda dapat mengonfigurasi For Loop dan alur kontrolnya untuk menggunakan transaksi untuk memastikan bahwa jika tidak semua data berhasil diperbarui, tidak ada data yang diperbarui. Untuk informasi selengkapnya, lihat Transaksi Layanan Integrasi.

Menambahkan perulangan ke alur kontrol dengan kontainer For Loop

Layanan Integrasi mencakup kontainer For Loop, elemen alur kontrol yang memudahkan untuk menyertakan perulangan yang secara kondisional mengulangi alur kontrol dalam paket. Untuk informasi selengkapnya, lihat Untuk Kontainer Perulangan.

Kontainer For Loop mengevaluasi kondisi pada setiap iterasi perulangan, dan berhenti ketika kondisi mengevaluasi ke false. Kontainer For Loop mencakup ekspresi untuk menginisialisasi perulangan, menentukan kondisi evaluasi yang menghentikan eksekusi alur kontrol berulang, dan menetapkan nilai ke ekspresi yang memperbarui nilai di mana kondisi evaluasi dibandingkan. Anda harus memberikan kondisi evaluasi, tetapi ekspresi inisialisasi dan penugasan bersifat opsional.

Kontainer For Loop tidak menyediakan fungsionalitas; ini hanya menyediakan struktur tempat Anda membangun alur kontrol yang dapat diulang. Untuk menyediakan fungsionalitas kontainer, Anda harus menyertakan setidaknya satu tugas dalam kontainer For Loop. Untuk informasi selengkapnya, lihat Tugas Layanan Integrasi.

Kontainer For Loop dapat menyertakan alur kontrol dengan beberapa tugas, dan dapat menyertakan kontainer lain. Menambahkan tugas dan kontainer ke kontainer For Loop mirip dengan menambahkannya ke paket, kecuali Anda menyeret tugas dan kontainer ke kontainer For Loop alih-alih ke paket. Jika kontainer For Loop menyertakan lebih dari satu tugas atau kontainer, Anda dapat menyambungkannya menggunakan batasan prioritas seperti yang Anda lakukan dalam paket. Untuk informasi selengkapnya, lihat Batasan Prioritas.

Menambahkan kontainer For Loop dalam alur kontrol

  1. Tambahkan kontainer For Loop ke paket. Untuk informasi selengkapnya, lihat Menambahkan atau Menghapus Tugas atau Kontainer dalam Alur Kontrol.

  2. Tambahkan tugas dan kontainer ke kontainer For Loop. Untuk informasi selengkapnya, lihat Menambahkan atau Menghapus Tugas atau Kontainer dalam Alur Kontrol.

  3. Sambungkan tugas dan kontainer dalam kontainer For Loop menggunakan batasan prioritas. Untuk informasi selengkapnya, lihat Menyambungkan Tugas dan Kontainer dengan Menggunakan Batasan Prioritas Default.

  4. Konfigurasikan kontainer For Loop. Untuk informasi selengkapnya, lihat Mengonfigurasi Kontainer For Loop.

Mengonfigurasi kontainer For Loop

Prosedur ini menjelaskan cara mengonfigurasi kontainer For Loop dengan menggunakan kotak dialog Editor For Loop.

  1. Di SQL Server Data Tools (SSDT), klik dua kali kontainer For Loop untuk membuka Editor For Loop.

  2. Secara opsional, ubah nama dan deskripsi kontainer For Loop.

  3. Secara opsional, ketik ekspresi inisialisasi di kotak teks InitExpression .

  4. Ketik ekspresi evaluasi dalam kotak teks EvalExpression .

    Catatan

    Ekspresi harus dievaluasi ke Boolean. Saat ekspresi mengevaluasi ke false, perulangan berhenti berjalan.

  5. Secara opsional, ketik ekspresi penugasan di kotak teks AssignExpression .

  6. Secara opsional, klik Ekspresi dan, pada halaman Ekspresi , buat ekspresi properti untuk properti kontainer For Loop. Untuk informasi selengkapnya, lihat Menambahkan atau Mengubah Ekspresi Properti.

  7. Klik OK untuk menutup Editor Untuk Perulangan.

Untuk kotak dialog Editor Perulangan

Gunakan halaman Untuk Perulangan dari kotak dialog Editor For Loop untuk mengonfigurasi perulangan yang mengulangi alur kerja hingga kondisi tertentu mengevaluasi ke false.

Untuk mempelajari tentang kontainer For Loop dan cara menggunakannya dalam paket, lihat Kontainer For Loop.

Opsi

InitExpression
Secara opsional, berikan ekspresi yang menginisialisasi nilai yang digunakan oleh perulangan.

EvalExpression
Berikan ekspresi untuk mengevaluasi apakah perulangan harus berhenti atau berlanjut.

AssignExpression
Secara opsional, berikan ekspresi yang mengubah kondisi setiap kali perulangan diulang.

Nama
Berikan nama unik untuk kontainer For Loop. Nama ini digunakan sebagai label dalam ikon tugas.

Catatan

Nama objek harus unik dalam paket.

Keterangan
Berikan deskripsi kontainer For Loop.

Menggunakan ekspresi dengan kontainer For Loop

Saat mengonfigurasi kontainer For Loop dengan menentukan kondisi evaluasi, nilai inisialisasi, atau nilai penugasan, Anda dapat menggunakan literal atau ekspresi.

Ekspresi dapat menyertakan variabel. Keuntungan menggunakan variabel adalah dapat diperbarui pada waktu proses, membuat paket lebih fleksibel dan lebih mudah dikelola. Panjang maksimum ekspresi adalah 4000 karakter.

Saat Anda menentukan variabel dalam ekspresi, Anda harus mengawali nama variabel dengan tanda (@). Misalnya, untuk variabel bernama Penghitung, masukkan @Counter dalam ekspresi yang digunakan kontainer For Loop. Jika Anda menyertakan properti namespace pada variabel, Anda harus mengapit variabel dan namespace dalam tanda kurung. Misalnya, untuk variabel Penghitung di namespace layanan MyNamespace , ketik [@MyNamespace::Counter].

Variabel yang digunakan kontainer For Loop harus didefinisikan dalam cakupan kontainer For Loop atau dalam cakupan kontainer apa pun yang lebih tinggi dalam hierarki kontainer paket. Misalnya, kontainer For Loop dapat menggunakan variabel yang ditentukan dalam cakupannya dan juga variabel yang ditentukan dalam cakupan paket. Untuk informasi selengkapnya, lihat Variabel Integration Services (SSIS) dan Menggunakan Variabel dalam Paket.

Tata bahasa ekspresi SSIS menyediakan serangkaian operator dan fungsi lengkap untuk menerapkan ekspresi kompleks yang digunakan untuk evaluasi, inisialisasi, atau penugasan. Untuk informasi selengkapnya, lihat Ekspresi Integration Services (SSIS).

Lihat Juga

Alur Kontrol
Ekspresi Integration Services (SSIS)