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
DMLoperā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.