Jawaban berdasarkan nomor:
-
Tidak; jika
S2
gagal, seluruh transaksi dibatalkan dan hanya dapat dibatalkan. -
Mungkin ada kesalahpahaman. Pernyataan SQL
BEGIN
yang memulai transaksi adalah sesuatu yang sangat berbeda dariBEGIN
yang memulai blok PL/pgSQL. Yang terakhir ini tidak memulai transaksi.Jika tidak ada perintah SQL eksplisit
BEGIN
, setiap pernyataan berjalan dalam transaksinya sendiri (“autocommit”).Semua pernyataan dalam suatu fungsi dieksekusi dalam satu transaksi.
-
Anda tidak dapat memiliki
COMMIT
(atauROLLBACK
) dalam suatu fungsi. -
Ya. Ini adalah pertanyaan yang sama dengan 1., hanya negatifnya.