存储过程:存储在数据库中的一组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语句
触发器和存储过程的区别:触发器不需要在程序用调用。当对表进行相应操作时会自动触发;存储过程是实现编译过,需要时在程序中直接调用