START TRANSACTION;
INSERT INTO film (nama_film, harga, jumlah_kursi)
VALUES('Sonic the Hedgehog', 50000, 45);
INSERT INTO film (nama_film, harga, jumlah_kursi)
VALUES('Bird of Prey', 60000, 35);
INSERT INTO film (nama_film, harga, jumlah_kursi)
VALUES('Mulan', 25000, 20);
COMMIT;
Penjelasan : terjadi penambahan film baru karena alur proses berhasil tanpa ada error.Sehingga,
semua proses input disimpan ke dalam database tersebut.
errorCode = RETURNED_SQLSTATE;
END;
Penjelasan : Pada kasus ini terjadi penambahan 2 data nama_film baru dengan
kondisi tanpa error sehingga SAVEPOINT satu dan SAVEPOINT dua berjalan
dengan baik serta COMMIT berjalan mulus tanpa adanya kejadian ROLLBACK
Nomor 2:
(Transaction pocedure dalam kondisi error):
DELIMITER $
CREATE OR REPLACE PROCEDURE TambahFilm(IN in_harga INT)
BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION, SQLWARNING
ROLLBACK;
START TRANSACTION;
INSERT INTO film (nama_film, harga, jumlah_kursi)
VALUES('Black Widow pt.2', 'tdk_diketahui', 50);
INSERT INTO film (nama_film, harga, jumlah_kursi)
VALUES('Wonder Woman pt.3', in_harga, 25);
errorCode = RETURNED_SQLSTATE;
END;
SAVEPOINT dua;
INSERT INTO film (nama_film, harga, jumlah_kursi)
VALUES('Onward 2', in_harga, 'kursi_hbs');