Latihan 1 dari materi Transaksi di SQL — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Tabel accounts berisi Budi (id 1, saldo 2000000) dan Siti (id 2, saldo 1000000). Transfer Rp 500.000 dari Budi ke Siti di dalam transaksi.
BEGIN TRANSACTION; sudah ada di kode awal, biarkan di baris pertama.
Di bawah komentar -- kurangi saldo pengirim, kurangi saldo akun id = 1 sebanyak 500000, dihitung dari saldonya sekarang: balance - 500000.
Di bawah komentar -- tambah saldo penerima, tambah saldo akun id = 2 sebanyak 500000: balance + 500000.
COMMIT; sudah ada di kode awal, biarkan di baris terakhir.
Yang dicek: sesudah kodenya jalan, saldo akun 1 jadi 1500000 dan saldo akun 2 jadi 1500000, dan kodemu menghitung saldo dari nilai sekarang (balance - ... atau balance + ...), bukan mengetik angka hasilnya langsung, dan kedua UPDATE ada di antara BEGIN TRANSACTION; dan COMMIT;.
Hint
Transfer itu dua perubahan: saldo pengirim berkurang dan saldo penerima bertambah, dengan jumlah yang sama. Transaksi memastikan keduanya tersimpan bersamaan.
Pakai dua UPDATE di antara BEGIN TRANSACTION dan COMMIT. Bentuknya UPDATE accounts SET balance = balance - jumlah WHERE id = ...; lalu yang satunya dengan tanda tambah.
UPDATE accounts SET balance = balance - 500000 WHERE id = 1; lalu UPDATE accounts SET balance = balance + 500000 WHERE id = 2;
</>{ }.css=>#idfn()
Versi baru
HyperSheets
bagian dari BelajarWeb.dev
0%
Membuka gerbang…
HyperSheets
Memperbarui Aplikasi
Versi baru tersedia. Halaman akan dimuat ulang otomatis...