Транзакцияларды башкаруу боюнча кайсы буйруктарды билесиз?
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;
Бул командаларды түшүнүү, реляциондук базалар менен иштеген колдонмолордо маалыматтын бүтүндүгүн камсыз кылуу үчүн маанилүү.