存储过程 触发器什么是存储过程呢? 定义: ????? 将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。 ? 存储过程的优点: ?????????????????????? 1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。 ??????????????????????? 2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。 ?????????????????????? 3.存储过程可以重复使用,可减少数据库开发人员的工作量 ?????????????????????? 4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权 ? 常用格式 ?? Create procedure procedue_name ?? [@parameter data_type][output] ?? [with]{recompile|encryption} ?? as ??????? sql_statement 解释:? output:表示此参数是可传回的 with {recompile|encryption} recompile:表示每次执行此存储过程时都重新编译一次 encryption:所创建的存储过程的内容会被加密 ? ? 触发器是一种特殊类型的存储过程,它不同于我们前面介绍过的存储过程。触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。当对某一表进行诸如UPDATE、 INSERT、 DELETE 这些操作时,SQL Server 就会自动执行触发器所定义的SQL 语句,从而确保对数据的处理必须符合由这些SQL 语句所定义的规则。 (2) 跟踪变化Auditing changes (3) 级联运行(Cascaded operation)。 (4) 存储过程的调用(Stored procedure invocation)。 |