存儲過程:存儲在數據庫中的一組T-SQL 語句,只需編譯一次, 在程序中就可以多次調用。 並且可以向語句中傳參數、輸出參數,防止注入攻擊,存儲過程執行起來 效率更高、而且可以減少網絡流量。
存儲過程的定義語法:
create procedure procedure_name [;number]
(
@parame1 data_type [output],
……
)
AS
SQl語句
procedure_name :存儲過程的名字
[;number] :是可選的整數,用來對同名的過程分組,以便用一條 DROP PROCEDURE 語句即可將同組的過程一起除去。例如,創建一組存儲過程爲 proc;1, proc;2 等。當要刪除這一組存儲過程時就可以用DROP PROCEDURE orderproc 語句將除去整個組。
@parame: 定義參數的名稱
data_type: 定義參數的類型
output :可選參數,當在參數後面加上output限定時,指定該參數爲返回的參數
觸發器:個人理解是,只針對一個表的insert、update、delete操作建立的,當執行相應操作時。會自動執行觸發器。
觸發器語法:
create trigger 觸發器名稱
on 表明
for [insert | update | delete]
as
sql語句
觸發器和存儲過程的區別:觸發器不需要在程序用調用。當對錶進行相應操作時會自動觸發;存儲過程是實現編譯過,需要時在程序中直接調用