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