transaksi SQLite
Transaksi (Transaksi) adalah unit kerja pada database. Transaksi (Transaksi) adalah urutan logis dari kerja atau urutan lengkap, yang bisa dilakukan oleh pengguna secara manual, hal itu dapat dilakukan secara otomatis oleh beberapa jenis program database.
Transaksi (Transaksi) mengacu pada satu atau lebih perubahan untuk memperluas database. Misalnya, jika Anda membuat catatan atau update record atau menghapus catatan dari meja, Anda melakukan transaksi di atas meja. Hal ini penting untuk mengontrol transaksi untuk memastikan integritas data dan menangani kesalahan database.
Bahkan, Anda dapat menempatkan banyak SQLite permintaan federasi sebagai sebuah kelompok, mereka semua disatukan sebagai bagian dari transaksi untuk eksekusi.
transaksi properti
Transaksi (Transaksi) standar memiliki empat sifat berikut, biasanya didasarkan pada Akronim ACID:
Atomicity (Atomicity): untuk memastikan bahwa semua unit kerja dalam operasi selesai dengan sukses, jika tidak, transaksi akan dihentikan jika terjadi kesalahan, sebelum operasi akan digulung kembali ke keadaan sebelumnya.
Konsistensi (Consistency): Pastikan status perubahan database yang benar di transaksi berhasil dikirim.
Isolasi (isolasi): transaksi untuk beroperasi secara independen dan transparan.
Persistent (Durability): untuk memastikan bahwa transaksi tersebut telah disampaikan hasil atau efek dalam hal kegagalan sistem masih ada.
Kontrol transaksi
Gunakan perintah berikut untuk mengontrol transaksi:
BEGIN TRANSAKSI: memulai transaksi.
COMMIT: Simpan perubahan, atau Anda dapat menggunakan perintah END TRANSACTION.
ROLLBACK: memutar kembali perubahan.
perintah kontrol transaksi hanya dengan DML perintah INSERT, UPDATE, dan DELETE bersama-sama. Ketika mereka tidak bisa membuat atau menghapus tabel menggunakan tabel, karena operasi ini dalam database secara otomatis dilakukan.
BEGIN perintah TRANSAKSI
Transaksi (Transaksi) Anda dapat menggunakan BEGIN TRANSACTION perintah atau sederhana BEGIN perintah untuk memulai. Transaksi tersebut biasanya eksekusi terakhir terus, sampai COMMIT atau ROLLBACK perintah selanjutnya. Namun, ketika database tertutup atau terjadi kesalahan, transaksi akan dibatalkan. Berikut ini adalah awal dari transaksi sintaks yang sederhana:
BEGIN; atau BEGIN TRANSACTION;
COMMIT perintah
COMMIT perintah yang digunakan untuk menyimpan perubahan ke database transaksi perintah transaksi panggilan.
COMMIT perintah untuk menyimpan semua transaksi sejak terakhir COMMIT atau ROLLBACK perintah ke database.
COMMIT sintaks perintah adalah sebagai berikut:
COMMIT; atau END TRANSACTION;
perintah ROLLBACK
perintah ROLLBACK adalah perintah untuk membatalkan transaksi belum disimpan ke database transaksi.
perintah ROLLBACK dapat digunakan untuk membatalkan transaksi sejak terakhir COMMIT atau ROLLBACK perintah yang dikeluarkan sejak.
perintah sintaks ROLLBACK adalah sebagai berikut:
ROLLBACK;
contoh
meja PERUSAHAAN Misalkan memiliki catatan berikut:
ID NAMA UMUR ALAMAT GAJI ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20.000,0 2 Allen 25 Texas 15.000,0 3 Teddy 23 Norwegia 20.000,0 4 Mark 25 Rich-Mond 65.000,0 5 David 27 Texas 85.000,0 6 Kim 22 South-Hall 45.000,0 7 James 24 Houston 10.000,0
Sekarang, mari kita mulai transaksi, dan menghapus catatan dari usia meja = 25, dan akhirnya, kita menggunakan perintah ROLLBACK untuk membatalkan semua perubahan.
sqlite> BEGIN; sqlite> DELETE DARI PERUSAHAAN MANA AGE = 25; sqlite> ROLLBACK;
Memeriksa meja PERUSAHAAN, masih memiliki catatan berikut:
ID NAMA UMUR ALAMAT GAJI ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20.000,0 2 Allen 25 Texas 15.000,0 3 Teddy 23 Norwegia 20.000,0 4 Mark 25 Rich-Mond 65.000,0 5 David 27 Texas 85.000,0 6 Kim 22 South-Hall 45.000,0 7 James 24 Houston 10.000,0
Sekarang, mari kita mulai transaksi lain, menghapus catatan dari usia meja = 25, dan akhirnya kami menggunakan COMMIT perintah untuk melakukan semua perubahan.
sqlite> BEGIN; sqlite> DELETE DARI PERUSAHAAN MANA AGE = 25; sqlite> COMMIT;
Periksa meja PERUSAHAAN, catatan berikut:
ID NAMA UMUR ALAMAT GAJI ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20.000,0 3 Teddy 23 Norwegia 20.000,0 5 David 27 Texas 85.000,0 6 Kim 22 South-Hall 45.000,0 7 James 24 Houston 10.000,0