Triggers vs Stored Procedure
Sa isang database, ang trigger ay isang procedure (code segment) na awtomatikong isinasagawa kapag may ilang partikular na kaganapan na nangyari sa isang table/view. Sa iba pang gamit nito, pangunahing ginagamit ang mga trigger para sa pagpapanatili ng integridad sa isang database. Ang isang naka-imbak na pamamaraan ay isang paraan na maaaring gamitin ng mga application na nag-a-access sa isang relational database. Karaniwan, ang mga nakaimbak na pamamaraan ay ginagamit bilang isang paraan para sa pagpapatunay ng data at pagkontrol ng access sa isang database.
Ano ang Mga Trigger?
Ang trigger ay isang pamamaraan (segment ng code) na awtomatikong isinasagawa kapag may ilang partikular na kaganapan na nangyari sa isang talahanayan/view ng isang database. Sa iba pang gamit nito, pangunahing ginagamit ang mga trigger para sa pagpapanatili ng integridad sa isang database. Ginagamit din ang mga trigger para sa pagpapatupad ng mga panuntunan sa negosyo, pag-audit ng mga pagbabago sa database at pagkopya ng data. Karamihan sa mga karaniwang trigger ay ang Data Manipulation Language (DML) na trigger na nati-trigger kapag ang data ay manipulahin. Sinusuportahan ng ilang database system ang mga non-data trigger, na nati-trigger kapag nangyari ang mga event ng Data Definition Language (DDL). Ang ilang mga halimbawa ay mga trigger na pinapagana kapag ginawa ang mga talahanayan, habang nagaganap ang mga commit o rollback na operasyon, atbp. Ang mga trigger na ito ay maaaring gamitin para sa pag-audit. Sinusuportahan ng Oracle database system ang mga schema level trigger (ibig sabihin, ang mga trigger ay pinapagana kapag ang database schema ay binago) tulad ng After Creation, Before Alter, After Alter, Before Drop, After Drop, atbp. Ang apat na pangunahing uri ng trigger na sinusuportahan ng Oracle ay Row Level trigger, Nagti-trigger ang Antas ng Column, nagti-trigger ang Bawat Uri ng Row, at nagti-trigger ang Para sa Bawat Uri ng Pahayag.
Ano ang Stored Procedure?
Ang naka-imbak na pamamaraan ay isang paraan na maaaring gamitin ng isang application na nag-a-access ng relational database. Karaniwan, ang mga nakaimbak na pamamaraan ay ginagamit bilang isang paraan para sa pagpapatunay ng data at pagkontrol ng access sa isang database. Kung ang ilang operasyon sa pagpoproseso ng data ay nangangailangan ng ilang SQL statement na isakatuparan, ang mga naturang operasyon ay ipinapatupad bilang mga nakaimbak na pamamaraan. Kapag nag-invoke ng naka-imbak na pamamaraan, kailangang gumamit ng CALL o EXECUTE na pahayag. Ang mga nakaimbak na pamamaraan ay maaaring magbalik ng mga resulta (halimbawa, mga resulta mula sa mga SELECT statement). Ang mga resultang ito ay maaaring gamitin ng iba pang mga nakaimbak na pamamaraan o ng mga application. Ang mga wikang ginagamit sa pagsulat ng mga nakaimbak na pamamaraan ay karaniwang sumusuporta sa mga istruktura ng kontrol gaya ng kung, habang, para sa, atbp. Depende sa sistema ng database na ginamit, maraming wika ang maaaring gamitin upang ipatupad ang mga nakaimbak na pamamaraan (hal. PL/SQL at java sa Oracle, T- SQL (Transact-SQL) at. NET Framework sa Microsoft SQL Server). Higit pa rito, gumagamit ang MySQL ng sarili nitong mga stored procedure.
Ano ang pagkakaiba ng Mga Trigger at Stored Procedure?
Ang trigger ay isang procedure (code segment) na awtomatikong isinasagawa kapag may ilang partikular na event na nangyari sa isang table/view ng isang database, habang ang isang stored procedure ay isang paraan na magagamit ng isang application na nag-a-access sa isang relational database. Awtomatikong pinapagana ang mga trigger kapag nangyari ang kaganapan na dapat na tumugon ang trigger. Ngunit upang maisagawa ang isang nakaimbak na pamamaraan, isang tiyak na CALL o EXECUTE na pahayag ang kailangang gamitin. Ang pag-debug ng mga trigger ay maaaring maging mas mahirap at mas nakakalito kaysa sa pag-debug ng mga nakaimbak na pamamaraan. Ang mga trigger ay lubhang kapaki-pakinabang kapag gusto mong tiyakin na may mangyayari kapag may nangyaring partikular na kaganapan.