觸發(fā)器與存儲過程區(qū)別
廣告:
視圖是將一些數(shù)據(jù)有機的結(jié)合起來放到一起,方便展示給有瀏覽權(quán)限的用戶查閱。
存儲過程是執(zhí)行一組sql語句,將一個復(fù)雜的操作過程放到一個sp里面,由數(shù)據(jù)庫服務(wù)器處理,提高運行的效率和保證數(shù)據(jù)的完整性。
觸發(fā)器,是一個表數(shù)據(jù)的變更后通過觸發(fā)器來修改與之相關(guān)聯(lián)的其他表的數(shù)據(jù),保證數(shù)據(jù)的一致性。
視圖是一張?zhí)摂M表,通過它可以瀏覽你感興趣的部分或全部內(nèi)容。
存儲過程是由一組SQL語句和可選控制流語句的預(yù)編譯集合。
觸發(fā)器是一種強制業(yè)務(wù)規(guī)則,確保數(shù)據(jù)的完整性和唯一性。
觸發(fā)器是一種特殊類型的存儲過程,不由用戶直接調(diào)用。創(chuàng)建觸發(fā)器時會對其進行定義,以便在對特定表或列作特定類型的數(shù)據(jù)修改時執(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ù)據(jù)進行更新的過程當(dāng)中,觸發(fā)某一事件!
而存儲過程在實際調(diào)用!
一般盡量不要使用觸發(fā)器!
廣告: