Sobes.tech
Middle

Kuras darījumu pārvaldības komandas jūs zināt?

sobes.tech AI

Atbilde no AI

BEGIN (var būt netieši), COMMIT, ROLLBACK.

  • BEGIN: Sāk jaunu darījumu. Nav obligāti pirmajai DML operācijai sesijā, jo darījums tiks uzsākts netieši.

    BEGIN TRANSACTION;
    
  • COMMIT: Saglabā visas izmaiņas, kas veiktas pašreizējā darījumā, un to noslēdz.

    COMMIT;
    
  • ROLLBACK: Atceļ visas izmaiņas, kas veiktas pašreizējā darījumā, un to noslēdz.

    ROLLBACK;
    

Dažas DBMS arī atbalsta:

  • SAVEPOINT: Izveido saglabāšanas punktu pašreizējā darījumā. Ļauj atgriezties pie šī punkta, neatsaucot visu darījumu.

    SAVEPOINT my_savepoint;
    
  • ROLLBACK TO SAVEPOINT: Atceļ izmaiņas līdz norādītajam saglabāšanas punktam.

    ROLLBACK TO SAVEPOINT my_savepoint;
    
  • RELEASE SAVEPOINT: Dzēš saglabāšanas punktu.

    RELEASE SAVEPOINT my_savepoint;
    

Piemērs darījumu secībai:

BEGIN; -- uzsākt darījumu

INSERT INTO users (name) VALUES ('Alice'); -- veikt operāciju

SAVEPOINT before_update; -- izveidot saglabāšanas punktu

UPDATE products SET price = price * 1.1 WHERE id = 1; -- veikt vēl vienu operāciju

-- Ja kaut kas noiet greizi ar atjauninājumu, var atgriezties pie saglabāšanas punkta
-- ROLLBACK TO SAVEPOINT before_update;

-- Ja viss ir kārtībā, saglabā izmaiņas
COMMIT; -- noslēgt darījumu un saglabāt izmaiņas

-- Ja nepieciešams, var atcelt visu darījumu pēc BEGIN
-- ROLLBACK;

Šo komandu izpratne ir kritiska datu integritātes nodrošināšanai lietojumprogrammās, kas strādā ar relāciju datu bāzēm.