Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Sebelum aplikasi menjalankan batch pernyataan, aplikasi harus terlebih dahulu memeriksa apakah mereka didukung. Untuk melakukan ini, aplikasi memanggil SQLGetInfo dengan opsi SQL_BATCH_SUPPORT, SQL_PARAM_ARRAY_ROW_COUNTS, dan SQL_PARAM_ARRAY_SELECTS. Opsi pertama menentukan apakah pernyataan yang menghasilkan jumlah baris dan kumpulan hasil didukung dalam batch dan prosedur eksplisit, sementara dua opsi terakhir memberikan informasi tentang ketersediaan jumlah baris dan kumpulan hasil dalam eksekusi berparameter.
Batch pernyataan dijalankan melalui SQLExecute atau SQLExecDirect. Misalnya, pemanggilan berikut menjalankan satu set pernyataan eksplisit untuk membuka pesanan penjualan baru.
SQLCHAR *BatchStmt =
"INSERT INTO Orders (OrderID, CustID, OpenDate, SalesPerson, Status)"
"VALUES (2002, 1001, {fn CURDATE()}, 'Garcia', 'OPEN');"
"INSERT INTO Lines (OrderID, Line, PartID, Quantity) VALUES (2002, 1, 1234, 10);"
"INSERT INTO Lines (OrderID, Line, PartID, Quantity) VALUES (2002, 2, 987, 8);"
"INSERT INTO Lines (OrderID, Line, PartID, Quantity) VALUES (2002, 3, 566, 17);"
"INSERT INTO Lines (OrderID, Line, PartID, Quantity) VALUES (2002, 4, 412, 500)";
SQLExecDirect(hstmt, BatchStmt, SQL_NTS);
Saat batch pernyataan pembuatan hasil dijalankan, ia mengembalikan satu atau beberapa jumlah baris atau kumpulan hasil. Untuk informasi tentang cara memperoleh hasil-hasil ini, lihat Beberapa Hasil.
Jika batch pernyataan menyertakan penanda parameter, ini diberi nomor dalam urutan parameter yang meningkat seperti halnya dalam pernyataan lainnya. Misalnya, batch pernyataan berikut memiliki parameter bernomor dari 1 hingga 21; yang ada dalam pernyataan INSERT pertama diberi nomor 1 sampai 5 dan dalam pernyataan INSERT terakhir bernomor 18 hingga 21.
INSERT INTO Orders (OrderID, CustID, OpenDate, SalesPerson, Status)
VALUES (?, ?, ?, ?, ?);
INSERT INTO Lines (OrderID, Line, PartID, Quantity) VALUES (?, ?, ?, ?);
INSERT INTO Lines (OrderID, Line, PartID, Quantity) VALUES (?, ?, ?, ?);
INSERT INTO Lines (OrderID, Line, PartID, Quantity) VALUES (?, ?, ?, ?);
INSERT INTO Lines (OrderID, Line, PartID, Quantity) VALUES (?, ?, ?, ?);
Untuk informasi selengkapnya tentang parameter, lihat Parameter Pernyataan, nanti di bagian ini.