Transaction
Disusun oleh:
Ket : Maka terlihat bahwa terjadi lock, karena di layer 1 sudah melakukan transaksi.
f. Menghentikan transaksi dengan memberi perintah commit;
Penjelasan : pada layer 1 pertama kita ketik begin; kemudian memeberi perintah set
autocommit=0; maka program akan menjalankan perintah tersebut. Lalu menampilkan
semua isi dari tabel dengan perintah select * from emp for update; yang berarti
menampilkan tabel yang akan di update. Lalu mencoba memasukkan perintah update
emp set sal=1000 where eno=1; yang berarti mengganti nilai pada tabel emp pada sal
nomor 1 menjadi 1000.
Pada layer 2 pertama kita ketik begin;. Lalu menampilkan perintah select * from; yang
berarti menampilkan tabel namun hasilnya akan tetap bernilai 4444 karena pada
autocommit=0; program yang di jalankan harus di commit; sehingga tabel yang sudah
diubah dilayer 1 dapat ditampilkan di layer 2.
b. Jika autocommit=1
Penjelasan : pada layer 1 pertama kita ketik begin; kemudian memeberi perintah set
autocommit=1; maka program akan menjalankan perintah tersebut. Lalu menampilkan
semua isi dari tabel dengan perintah select * from emp for update; yang berarti
menampilkan tabel yang akan di update. Lalu mencoba memasukkan perintah update
emp set sal=6000 where eno=5; yang berarti mengganti nilai pada tabel emp pada sal
nomor 5 menjadi 6000.
Pada layer 2 pertama kita ketik begin; Lalu menampilkan perintah select * from; yang
berarti menampilkan tabel dan hasilnya akan berubah seperti pada layer 1 karena pada
autocommit=1; program yang di jalankan dapat berubah sesuai dengan layer 1 tanpa
harus di commit; terlebih dahulu
c. Fungsi commit
Jadi fungsi commit; adalah untuk menghentikan transaction ketika di set autocommit=0;
sehingga tanpa adanya commit, perintah perintah yang dijalankan di layer 1 tidak akan
tertampil di layer 2 karena belum di commit.
4. Savepoint.
5. Implisit commit
Jadi pada artikel tersebut membahas tentang implisit commit. Perintah perintah mySQL
seperti statement Create, Alter, Drop terdapat commit. Contoh pada perintah Create
table (kecuali perintah temporary table) tabel yang sudah di buat akan langsung ter
commit. Sehingga tidak bisa di rollback atau di kembalkan seperti sebelumnya, begitu
pula alter table. Maka jika ingin menghapus maka harus memberi perintah drop. Drop
juga terdapat implisit commit, karena setelah di Drop sudah tidak bisa di kembalikan
lagi, kecuali membuat tabel baru.
6. Implementasi transaction pada stored procedure