觸發(fā)器與存儲(chǔ)過程區(qū)別
廣告:
視圖是將一些數(shù)據(jù)有機(jī)的結(jié)合起來放到一起,方便展示給有瀏覽權(quán)限的用戶查閱。
存儲(chǔ)過程是執(zhí)行一組sql語句,將一個(gè)復(fù)雜的操作過程放到一個(gè)sp里面,由數(shù)據(jù)庫服務(wù)器處理,提高運(yùn)行的效率和保證數(shù)據(jù)的完整性。
觸發(fā)器,是一個(gè)表數(shù)據(jù)的變更后通過觸發(fā)器來修改與之相關(guān)聯(lián)的其他表的數(shù)據(jù),保證數(shù)據(jù)的一致性。
視圖是一張?zhí)摂M表,通過它可以瀏覽你感興趣的部分或全部內(nèi)容。
存儲(chǔ)過程是由一組SQL語句和可選控制流語句的預(yù)編譯集合。
觸發(fā)器是一種強(qiáng)制業(yè)務(wù)規(guī)則,確保數(shù)據(jù)的完整性和唯一性。
觸發(fā)器是一種特殊類型的存儲(chǔ)過程,不由用戶直接調(diào)用。創(chuàng)建觸發(fā)器時(shí)會(huì)對(duì)其進(jìn)行定義,以便在對(duì)特定表或列作特定類型的數(shù)據(jù)修改時(shí)執(zhí)行。
create procedure 過程名
參數(shù),參數(shù)
as
begin
end
create function 函數(shù)名 (參數(shù))
returns nvarcha(60)
as
begin
end
CREATE TRIGGER 觸發(fā)器名 on {table|view}
[ WITH ENCRYPTION ]
{
{ { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ DELETE ] [ UPDATE ] } [ WITH APPEND ] [ NOT FOR REPLICATION ]
AS
[ { IF UPDATE ( column )
[ { AND | OR } UPDATE ( column ) ] [ ...n ] | IF ( COLUMNS_UPDATED ( ) updated_bitmask )
column_bitmask [ ...n ] } ]
sql_statement [ ...n ] } }
觸發(fā)器是在實(shí)際對(duì)數(shù)據(jù)進(jìn)行更新的過程當(dāng)中,觸發(fā)某一事件!
而存儲(chǔ)過程在實(shí)際調(diào)用!
一般盡量不要使用觸發(fā)器!
廣告: