更新時(shí)間:2021-06-21 16:41:45作者:admin2
存儲(chǔ)過(guò)程 一組為了完成特定功能的SQL 語(yǔ)句集,經(jīng)編譯后存儲(chǔ)在數(shù)據(jù)庫(kù)中,用戶通過(guò)指定存儲(chǔ)過(guò)程的名字并給出參數(shù)(如果該存儲(chǔ)過(guò)程帶有參數(shù))來(lái)執(zhí)行它。觸發(fā)器 是個(gè)特殊的存儲(chǔ)過(guò)程,它的執(zhí)行不是由程序調(diào)用,也不是手工啟動(dòng),而是由事件來(lái)觸發(fā),比如當(dāng)對(duì)一個(gè)表進(jìn)行操作( insert,delete, update)時(shí)就會(huì)激活它執(zhí)行。
你不是吧,問(wèn)這個(gè)問(wèn)題,你先找本ORACLE的書看完了再說(shuō)吧。。這個(gè)東西用文字很難講清楚的
我的理解:主要是使用場(chǎng)合不同,還有就是觸發(fā)器中不能使用commit(這個(gè)應(yīng)該是約定而不是規(guī)定)存儲(chǔ)過(guò)程相當(dāng)于打包好的sql語(yǔ)法,可以包含復(fù)雜的sql操作,在程序調(diào)用時(shí)只要執(zhí)行該存儲(chǔ)過(guò)程,一句話就可以完成復(fù)雜的數(shù)據(jù)庫(kù)操作.
我的理解:主要是使用場(chǎng)合不同,還有就是觸發(fā)器中不能使用commit(這個(gè)應(yīng)該是約定而不是規(guī)定)存儲(chǔ)過(guò)程相當(dāng)于打包好的sql語(yǔ)法,可以包含復(fù)雜的sql操作,在程序調(diào)用時(shí)只要執(zhí)行該存儲(chǔ)過(guò)程,一句話就可以完成復(fù)雜的數(shù)據(jù)庫(kù)操作.觸發(fā)器是也是打包好的sql語(yǔ)法,是一種特殊類型的存儲(chǔ)過(guò)程,不由用戶直接調(diào)用。創(chuàng)建觸發(fā)器時(shí)會(huì)對(duì)其進(jìn)行定義,以便在對(duì)特定表或列作特定類型的數(shù)據(jù)修改時(shí)執(zhí)行 另外:觸發(fā)器相對(duì)一般的存儲(chǔ)過(guò)程也多了一些在代碼編寫方面的不同,比如說(shuō)CREATE TRIGGER 必須是批處理中的第一條語(yǔ)句,并且只能應(yīng)用到一個(gè)表中等等.具體的可以看一下觸發(fā)器的說(shuō)明;http://baike.baidu.com/view/1189954.htm