Lewati ke isi

Pengembangan Skrip / Objek Konektor DFF.CONN / ClickHouse

Objek operasi Konektor ClickHouse menyediakan metode untuk melakukan query dan menulis ke ClickHouse.

Parameter DFF.CONN(...) adalah sebagai berikut:

Parameter Tipe Wajib / Nilai default Keterangan
connector_id str Wajib ID Konektor
database str None Menentukan database

.query(...)

Menjalankan pernyataan SQL dan mengembalikan hasil query. Setiap baris hasil diubah menjadi dict dengan nama kolom sebagai kunci, dan seluruh hasil dikembalikan sebagai list.

Parameter Tipe Wajib / Nilai default Keterangan
sql str Wajib Pernyataan SQL, dapat berisi placeholder parameter.
? menunjukkan parameter yang perlu di-escape;
?? menunjukkan parameter yang tidak perlu di-escape
sql_params list None Parameter SQL
Contoh
1
2
3
sql = 'SELECT * FROM ?? WHERE age > ?'
sql_params = ['demo_table', 50]
result = helper.query(sql, sql_params=sql_params)

.non_query(...)

Menjalankan pernyataan SQL seperti menulis, memperbarui, atau menghapus, dan mengembalikan jumlah baris terpengaruh yang dilaporkan oleh driver. Parameter sama dengan .query(...).

Contoh
1
2
3
sql = 'INSERT INTO ?? (name, age) VALUES (?, ?)'
sql_params = ['demo_table', 'Tom', 20]
affected_rows = helper.non_query(sql, sql_params=sql_params)

.query(...) dan .non_query(...) secara otomatis melakukan commit transaksi setelah berhasil dieksekusi; jika eksekusi gagal, akan melempar exception.

Pernyataan SQL Dinamis

query(...) dan non_query(...) secara internal menggunakan DFF.SQL(...) untuk menyusun pernyataan SQL dan mendukung penyusunan pernyataan SQL dinamis yang kompleks.

Seperti nilai dengan jumlah tidak pasti pada WHERE IN (...), atau penulisan data massal dengan INSERT INTO ... VALUES ..., dan lain-lain.

Silakan lihat Pengembangan Skrip / Konstruksi SQL DFF.SQL