Sobes.tech
Middle

Транзакцияларды башкаруу боюнча кайсы буйруктарды билесиз?

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;

Бул командаларды түшүнүү, реляциондук базалар менен иштеген колдонмолордо маалыматтын бүтүндүгүн камсыз кылуу үчүн маанилүү.