Sql Server 存储过程和触发器

 Sql Server 存储过程和触发器

存储过程:存储在数据库中的一组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语句

 

触发器和存储过程的区别:触发器不需要在程序用调用。当对表进行相应操作时会自动触发;存储过程是实现编译过,需要时在程序中直接调用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章