数据库中存储过程和触发器有什么异同?
創(chuàng)建存儲過程,存儲過程是保存起來的可以接受和返回用戶提供的參數(shù)的Transact-SQL語句的集合。
創(chuàng)建觸發(fā)器,觸發(fā)器是一種特殊的存儲過程,在用戶試圖對指定的表執(zhí)行指定的數(shù)據(jù)修改語句時自動執(zhí)行。
觸發(fā)器與存儲過程的主要區(qū)別在于觸發(fā)器的運行方式。存儲過程必須有用戶,應(yīng)用程序或者觸發(fā)器來顯示的調(diào)用并執(zhí)行,而觸發(fā)器是當(dāng)特定時間出現(xiàn)的時候,自動執(zhí)行或者激活的,與連接用數(shù)據(jù)庫中的用戶或者應(yīng)用程序無關(guān)。當(dāng)一行被插入,更新或者刪除時觸發(fā)器才執(zhí)行,同時還取決于觸發(fā)器是怎樣創(chuàng)建的,當(dāng)UPDATE發(fā)生時使用一個更新觸發(fā)器,當(dāng)INSERT發(fā)生時使用一個插入觸發(fā)器,當(dāng)DELETE發(fā)生時使用一個刪除觸發(fā)器。
存儲過程是要你去執(zhí)行它,它才會執(zhí)行,而觸發(fā)器則是滿足一定的觸發(fā)條件就自動執(zhí)行,這是最根本的區(qū)別,要根據(jù)業(yè)務(wù)邏輯靈活選擇使用觸發(fā)器還是存儲過程。
總結(jié)
以上是生活随笔為你收集整理的数据库中存储过程和触发器有什么异同?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 7款高颜值HTML5播放器:让你的音乐有
- 下一篇: SDWebImage源码阅读(三)UII