Sobes.tech
Middle

Qaysi tranzaksiya boshqarish buyruqlarini bilasiz?

sobes.tech AI

AIdan javob

BEGIN (garchiq bo'lishi mumkin), COMMIT, ROLLBACK.

  • BEGIN: Yangi tranzaksiyani boshlaydi. Bu sessiyada birinchi DML operator 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.