存储过程和触发器的区别是什么?
1个回答
展开全部
一、指代不同
1、存储过程:是在大型数据库系统中,一组为了完成特定功能的SQL 语句集。
2、触发器:是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法。
二、特点不同
1、存储过程:存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行。
2、触发器:是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活执行。
三、作用不同
1、存储过程:局时存储过程,以两个井字号(##)号开始,则该存储过程将成为一个存储在tempdb数据库中的全局临时存储过程,全局临时存储过程一旦创建,以后连接到服务器的任意用户都可以执行它,而且不需要特定的权限。
2、触发器:可用于强制引用完整性,以便在多个表中添加、更新或删除行时,保留在这些表之间所定义的关系。然而,强制引用完整性的最好方法是在相关表中定义主键和外键约束。
参考资料来源:百度百科-触发器
参考资料来源:百度百科-存储过程
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询