Qaysi tranzaksiya boshqarish buyruqlarini bilasiz?
sobes.tech AI
AIdan javob
BEGIN (garchiq bo'lishi mumkin), COMMIT, ROLLBACK.
-
BEGIN: Yangi tranzaksiyani boshlaydi. Bu sessiyada birinchi
DMLoperator uchun majburiy emas, chunki tranzaksiya noaniq ravishda boshlanadi.BEGIN TRANSACTION; -
COMMIT: Hozirgi tranzaksiyada amalga oshirilgan barcha o'zgarishlarni saqlaydi va uni yakunlaydi.
COMMIT; -
ROLLBACK: Hozirgi tranzaksiyada amalga oshirilgan barcha o'zgarishlarni bekor qiladi va uni yakunlaydi.
ROLLBACK;
Ba'zi ma'lumotlar bazalari quyidagilarni ham qo'llab-quvvatlaydi:
-
SAVEPOINT: Hozirgi tranzaksiya ichida saqlash nuqtasini o'rnatadi. Bu nuqtaga qaytish imkonini beradi, butun tranzaksiyani bekor qilmasdan.
SAVEPOINT my_savepoint; -
ROLLBACK TO SAVEPOINT: Belgilangan saqlash nuqtasiga qadar bo'lgan o'zgarishlarni bekor qiladi.
ROLLBACK TO SAVEPOINT my_savepoint; -
RELEASE SAVEPOINT: Saqlash nuqtasini olib tashlaydi.
RELEASE SAVEPOINT my_savepoint;
Buyruqlar ketma-ketligi misoli:
BEGIN; -- tranzaksiyani boshlash
INSERT INTO users (name) VALUES ('Alice'); -- operatsiya bajarish
SAVEPOINT before_update; -- saqlash nuqtasini o'rnatish
UPDATE products SET price = price * 1.1 WHERE id = 1; -- yana bir operatsiya
-- Agar yangilashda muammo bo'lsa, saqlash nuqtasiga qaytish mumkin
-- ROLLBACK TO SAVEPOINT before_update;
-- Agar hammasi yaxshi bo'lsa, o'zgarishlarni tasdiqlash
COMMIT; -- tranzaksiyani yakunlash va o'zgarishlarni saqlash
-- Agar BEGIN dan keyin barcha tranzaksiyani bekor qilish kerak bo'lsa
-- ROLLBACK;
Ushbu buyruqlarni tushunish, relatsion ma'lumotlar bazalari bilan ishlaydigan ilovalarda ma'lumotlarning yaxlitligini ta'minlash uchun juda muhimdir.