Ushbu misolda buyurtma raqami 12345 ma'lumotlar bazasidan butunlay olib tashlangan. Bu
ikkita jadval, Order va OrderItems yangilanishiga olib kelganligi sababli, tranzaksiya buyurtmani
qisman o'chirishni oldini olish uchun ishlatiladi. Yakuniy
COMMIT bayonoti o'zgarishlarni faqat
xatolik yuz bermagan taqdirda amalga oshiradi. Agar birinchi bayonot muvaffaqiyatli bo'lsa, ikkinchisi
xato tufayli muvaffaqiyatsiz bo'lsa, o'chirish amalga oshirilmaydi. Oracle'da xuddi shunday qilish
uchun quyidagi koddan foydalaning.
SET TRANSACTION
DELETE Orderltems WHERE order_num = 12345;
DELETE Orders WHERE order_num = 12345;
COMMIT;
Saqlash nuqtasi. Oddiy COMMIT va ROLLBACK bayonotlari umuman tranzaksiyalarni
bajarish yoki orqaga qaytarish imkonini beradi. Bu qisqa tranzaksiyalar uchun mantiqiy, ammo
murakkabroq operatsiyalar qisman majburiyatlarni yoki qaytarib olishni talab qilishi mumkin.
Misol uchun, yuqorida tavsiflangan buyurtmani qo'shish jarayoni bitta operatsiya hisoblanadi.
Agar xatolik yuzaga kelsa, qator hali
Do'stlaringiz bilan baham: