Ի՞նչ գործառույթներ եք գիտակցում գործարքների կառավարման համար։
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;
Այս հրամանների իմացությունը կարևոր է տվյալների ամբողջականությունը ապահովելու համար ռելացիոնալ տվյալների բազաներով աշխատող ծրագրերում: