更新時(shí)間:2021-06-21 16:41:43作者:admin2
存儲過程很好理解啊你在程序中提交幾十上百條SQL語句,超麻煩的說,也易出錯(cuò),將它們集中到過程中,程序中只要一句語句調(diào)用就可以了觸發(fā)器就是在事務(wù)等操作中應(yīng)用的比如銀行取錢過程中,更新一方數(shù)據(jù)的同時(shí),通過觸發(fā)器更新另一方數(shù)據(jù)(當(dāng)然這個(gè)比喻太簡單)
存儲過程就相當(dāng)于子程序,比如批量處理SQL語句執(zhí)行或執(zhí)行SQL語言的編程。我用存儲過程用的最多的地方就是數(shù)據(jù)庫信息的分頁查詢。。觸發(fā)器的例子除了銀行,最最常見的就是論壇啦。你回了別人一個(gè)帖子,數(shù)據(jù)庫里就會增加這個(gè)帖子的內(nèi)容,同時(shí)更新樓主的回帖數(shù),同時(shí)還增加你的發(fā)帖數(shù)
觸發(fā)器與存儲過程非常相似,觸發(fā)器也是SQL語句集,兩者唯一的區(qū)別是觸發(fā)器不能用EXECUTE語句調(diào)用,而是在用戶執(zhí)行Transact-SQL語句時(shí)自動觸發(fā)(激活)執(zhí)行。觸發(fā)器是在一個(gè)修改了指定表中的數(shù)據(jù)時(shí)執(zhí)行的存儲過程。通常通過創(chuàng)建觸發(fā)器來強(qiáng)制實(shí)現(xiàn)不同表中的邏輯相關(guān)數(shù)據(jù)的引用完整性和一致性。由于用戶不能繞過觸發(fā)器,所以可以用它來強(qiáng)制實(shí)施復(fù)雜的業(yè)務(wù)規(guī)則,以確保數(shù)據(jù)的完整性。觸發(fā)器不同于存儲過程,觸發(fā)器主要是通過事件執(zhí)行觸發(fā)而被執(zhí)行的,而存儲過程可以通過存儲過程名稱名字而直接調(diào)用。當(dāng)對某一表進(jìn)行諸如UPDATE、INSERT、DELETE這些操作時(shí),SQLSERVER就會自動執(zhí)行觸發(fā)器所定義的SQL語句,從而確保對數(shù)據(jù)的處理必須符合這些SQL語句所定義的規(guī)則。