触发器与存储过程的区别是什么?

如题所述

一、指代不同

1、存储过程:是在大型数据库系统中,一组为了完成特定功能的SQL 语句集。

2、触发器:是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法。

二、特点不同

1、存储过程:存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行。

2、触发器:是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活执行。

三、作用不同

1、存储过程:局时存储过程,以两个井字号(##)号开始,则该存储过程将成为一个存储在tempdb数据库中的全局临时存储过程,全局临时存储过程一旦创建,以后连接到服务器的任意用户都可以执行它,而且不需要特定的权限。

2、触发器:可用于强制引用完整性,以便在多个表中添加、更新或删除行时,保留在这些表之间所定义的关系。然而,强制引用完整性的最好方法是在相关表中定义主键和外键约束。


参考资料来源:百度百科-触发器

参考资料来源:百度百科-存储过程

温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜