Sobes.tech
Middle

როგორ განახორციელოთ ტრანზაქციის ნაწილობრივი გადახედვა (სრული არა, არამედ გარკვეული წერტილამდე)?

sobes.tech AI

პასუხი AI-სგან

ტრანზაქციის ნაწილობრივი უკანონობა ხორციელდება savepoints მექანიზმის გამოყენებით. Savepoint საშუალებას აძლევს დააყენოს კონტროლის წერტილი ტრანზაქციის შიგნით, რომლისკენაც შეიძლება დაბრუნება, მთელი ტრანზაქციის გაუქმების გარეშე.

SQL-ის მაგალითი (PostgreSQL):

BEGIN;
-- ოპერაციები 1
SAVEPOINT sp1;
-- ოპერაციები 2
-- თუ საჭიროა მხოლოდ sp1-მდე დაბრუნება
ROLLBACK TO SAVEPOINT sp1;
-- ტრანზაქციის გაგრძელება
COMMIT;

ამ გზით, შეიძლება დაბრუნება მხოლოდ savepoint-ის შემდეგი ცვლილებების, ხოლო წინანდელი ცვლილებები ინახება ერთ ტრანზაქციაში.