Pengembangan Skrip / Objek Konektor DFF.CONN / Microsoft SQL Server
Objek operasi Konektor Microsoft SQL Server terutama menyediakan metode operasi untuk Microsoft SQL Server.
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 kueri dalam format list[dict], dengan parameter sebagai berikut:
| 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 | |
.non_query(...)
Menjalankan pernyataan SQL seperti operasi tulis, pembaruan, atau penghapusan. Parameter sama dengan .query(...).
| Contoh | |
|---|---|
1 2 3 | |
Implementasi saat ini secara langsung mengembalikan nilai pengembalian dari pymssql.Cursor.execute(...), biasanya berupa None, sehingga tidak dapat digunakan untuk mendapatkan jumlah baris yang terpengaruh.
.query(...) dan .non_query(...) secara otomatis melakukan commit transaksi setelah berhasil dieksekusi; jika eksekusi gagal, secara otomatis melakukan rollback dan mengeluarkan exception.
Transaksi
Jika perlu menjalankan beberapa pernyataan SQL dalam transaksi yang sama, gunakan metode berikut:
| Metode | Keterangan |
|---|---|
.start_trans() |
Memulai transaksi dan mengembalikan objek koneksi transaksi |
.trans_query(trans_conn, sql, sql_params=None) |
Menjalankan kueri dalam transaksi dan mengembalikan list[dict] |
.trans_non_query(trans_conn, sql, sql_params=None) |
Menjalankan SQL non-kueri dalam transaksi, biasanya mengembalikan None |
.commit(trans_conn) |
Melakukan commit transaksi dan menutup koneksi transaksi |
.rollback(trans_conn) |
Melakukan rollback transaksi dan menutup koneksi transaksi |
Jika terjadi exception selama eksekusi transaksi, panggil .rollback(trans_conn); objek koneksi transaksi yang sama tidak dapat digunakan lagi setelah commit atau rollback selesai.
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 yang jumlahnya tidak pasti pada WHERE IN (...), atau INSERT INTO ... VALUES ... untuk penulisan data massal, dan sebagainya.
Untuk detail, silakan lihat Pengembangan Skrip / Konstruksi SQL DFF.SQL