Sobes.tech
Middle

Ի՞նչ գործառույթներ եք գիտակցում գործարքների կառավարման համար։

sobes.tech AI

Պատասխան AI-ից

BEGIN (կարող է լինել անորոշ), COMMIT, ROLLBACK:

  • BEGIN: Սկսում է նոր գործարք: Անհրաժեշտ չէ առաջին DML հրամանի համար սեսիայում, քանի որ գործարքը ինքնաբերաբար կսկսվի:

    BEGIN TRANSACTION;
    
  • COMMIT: Պահպանում է բոլոր փոփոխությունները, որոնք կատարվել են ընթացիկ գործարքում, և ավարտում է այն:

    COMMIT;
    
  • ROLLBACK: Չեղարկում է բոլոր փոփոխությունները, որոնք կատարվել են ընթացիկ գործարքում, և ավարտում է այն:

    ROLLBACK;
    

Որոշ տվյալների բազաներ նաև աջակցում են.

  • SAVEPOINT: Կարգավորում է պահուստային կետ ընթացիկ գործարքի ներսում: Позволяет վերադառնալ այդ կետ, առանց ամբողջ գործարքը չեղարկելու:

    SAVEPOINT my_savepoint;
    
  • ROLLBACK TO SAVEPOINT: Չեղարկում է փոփոխությունները նշված պահուստային կետին վերադառնալով:

    ROLLBACK TO SAVEPOINT my_savepoint;
    
  • RELEASE SAVEPOINT: Հեռացնում է պահուստային կետը:

    RELEASE SAVEPOINT my_savepoint;
    

Օրինակ հրամանների հաջորդականություն:

BEGIN; -- սկսում գործարքը

INSERT INTO users (name) VALUES ('Alice'); -- կատարում գործողություն

SAVEPOINT before_update; -- սահմանում պահուստային կետ

UPDATE products SET price = price * 1.1 WHERE id = 1; -- կատարում այլ գործողություն

-- Եթե ինչ-որ բան սխալ է թարմացման ժամանակ, կարող եք վերադառնալ պահուստային կետին
-- ROLLBACK TO SAVEPOINT before_update;

-- Եթե ամեն ինչ լավ է, հաստատում փոփոխությունները
COMMIT; -- ավարտում գործարքը և պահպանում փոփոխությունները

-- Եթե անհրաժեշտ է չեղարկել ամբողջ գործարքը հետո BEGIN
-- ROLLBACK;

Այս հրամանների իմացությունը կարևոր է տվյալների ամբողջականությունը ապահովելու համար ռելացիոնալ տվյալների բազաներով աշխատող ծրագրերում: