Pagkakaiba sa pagitan ng COMMIT at ROLLBACK sa SQL

May -Akda: Laura McKinney
Petsa Ng Paglikha: 1 Abril 2021
I -Update Ang Petsa: 12 Mayo 2024
Anonim
CS50 2014 - Week 8
Video.: CS50 2014 - Week 8

Nilalaman


Ang COMMITand ROLLBACK, ay ang dalawang transactional na pahayag na ginagamit, gawin o alisin ang mga transaksyon. Ang isang transaksyon ay maaaring magkaroon ng pagkakasunud-sunod ng mga query, o maaaring magkaroon ng mga pahayag ng pag-update na nagpabago sa database. Ang pangunahing pagkakaiba sa pagitan ng COMMIT at ROLLBACK ay namamalagi sa kanilang pagtatrabaho. Kung ang transaksyon ay matagumpay na naisakatuparan noon, ang COMMIT pinapayagan ng pahayag ang pagbabago na ginawa ng transaksyon sa database upang maging permanente. Sa kabilang banda, kung ang transaksyon dahil sa ilang kadahilanan ay matagumpay na maisagawa ang ROLLBACK ang pahayag ay tatanggalin ang lahat ng mga pag-update, mula mismo sa unang pahayag ng kasalukuyang transaksyon.

Talakayin natin ang pagkakaiba sa pagitan ng mga pahayag ng Commit at ROLLBACK sa SQL sa tulong ng tsart ng paghahambing na ipinakita sa ibaba.

  1. Tsart ng paghahambing
  2. Kahulugan
  3. Pangunahing Pagkakaiba
  4. Konklusyon

Tsart ng paghahambing

Batayan para sa PaghahambingCOMMITROLLBACK
PangunahingKinatunayan ng COMMIT ang mga pagbabago na ginawa ng kasalukuyang transaksyon.Tinatanggal ng ROLLBACK ang mga pagbabago na ginawa ng kasalukuyang transaksyon.
EpektoMatapos maisagawa ang pahayag ng COMMIT, ang transaksyon ay hindi maaaring ROLLBACK.Sa sandaling ang ROLLBACK ay naisakatuparan database naabot sa nakaraang estado, i.e. bago ang pagpapatupad ng unang pahayag ng transaksyon.
PagkakataonAng komite ay nangyayari kapag matagumpay na naisakatuparan ang transaksyon.Ang ROLLBACK ay nangyayari kapag ang transaksyon ay ipinalaglag sa gitna ng pagpapatupad.
SyntaxCOMMIT;ROLLBACK;

Kahulugan ng COMMIT

COMMIT ay isang pahayag ng SQL, signal na iyon matagumpay pagkumpleto ng isang transaksyon. Kapag ang isang transaksyon ay nakumpleto ang pagpapatupad nang walang anumang makagambala, ang mga pagbabago na ginawa sa database, sa pamamagitan ng transaksyon ay nagiging permanente. Na nangangahulugan na ang database ay hindi maaaring mabawi ang mga nakaraang estado kung saan ito, bago ang pagpapatupad ng unang pahayag, ng transaksyon.


Ang syntax ng pahayag ng COMMIT ay ang sumusunod:

COMMIT;

Tulad ng huling pahayag ng transaksyon ay nagtatapos ang transaksyon ay nagiging bahagyang nakatuon. Susunod, ang mga protocol sa pagbawi matiyak, kahit na ang isang pagkabigo sa system, ay hindi magagawa ang database, upang gawing permanente ang mga pagbabago. Sa sandaling ito ay nasuri, ang point point ng transaksyon ay naabot at sa wakas ang transaksyon ay pumapasok sa a nakatuon na estado. Kapag ang transaksyon ay pumasok sa isang nakatuon na estado, hindi ito maaaring baligtarin, at magsisimula ang isang bagong transaksyon.

Kahulugan ng ROLLBACK

Tulad ng COMMIT, ROLLBACK ay din ng isang pahayag ng SQL, at senyales na mayroon ang transaksyon hindi nakumpleto na matagumpay. Samakatuwid, ang transaksyon ay ipinalag upang alisin ang mga pagbabagong nagawa ng transaksyon. Matapos ang pagpapatupad ng ROLLBACK, walang mga pagbabago, na ginagawa ng kasalukuyang transaksyon ay mananatili.


Ang syntax ng ROLLBACK ay tulad ng sumusunod:

ROLLBACK;

Ang Transaksyon ROLLBACK ay kinakailangan kung ang isang error ay nangyayari sa panahon ng pagpapatupad ng isang transaksyon. Ang pagkakamali ay maaaring maging kabiguan ng system, pag-ubos ng kuryente, pagkakamali sa mga pahayag sa transaksyon, pag-crash ng system. Sa kaso ng pagkabigo ng kuryente o pag-crash ng system, ang ROLLBACK ay nangyayari kapag muling nag-iisa ang system. Ang ROLLBACK ay maaaring mangyari lamang kung ang COMMIT ay hindi pa naisakatuparan.

  1. Ang pangunahing pagkakaiba sa pagitan ng COMMIT at ROLLBACK na mga pahayag ng SQL ay ang pagpapatupad ng pahayag ng COMMIT ay ginagawang permanenteng lahat ng pagbabago ng ginawa ng kasalukuyang transaksyon. Sa kabilang banda, ang pagpapatupad ng ROLLBACK ay tinanggal ang lahat ng pagbabago na ginawa ng kasalukuyang transaksyon.
  2. Kapag naisagawa ng pahayag ng COMMIT ang pagbabago na ginawa ng transaksyon ay hindi maaaring ROLLBACK. Gayunpaman, sa sandaling ang pahayag na ROLLBACK ay naisakatuparan ang database ay umabot sa dati nitong estado.
  3. Ang COMMIT ay naisakatuparan sa matagumpay na pagpapatupad ng mga pahayag sa transaksyon. Gayunpaman, ang ROLLBACK ay naisakatuparan kapag ang transaksyon ay hindi matagumpay na naisakatuparan.

Konklusyon:

Upang matiyak, na ang mga pagbabago na ginawa ng transaksyon ay permanenteng nai-save sa database, gumamit ng COMMIT pagkatapos ng matagumpay na pagkumpleto ng transaksyon. Kung sakaling ang transaksyon ay nahaharap sa anumang pagkakamali habang pagpapatupad pagkatapos upang alisin ang mga pagbabago na ginawa ng transaksyon, ang ROLLBACK ay ginagamit.