数据库的存储过程和触发器
存储过程就好象一个批处理文件一样,你可以在里面执行很多的SQL,来得到你最终需要的结果 ,或者说类似于一个函数,调用存储过程后,T-SQL一次执行很多命令,最终给你个结果视图是虚拟表,比如要查询的东西在两个表里,那么可以把两个表连接成一个视图,这样就可以查询并显示两个表里的内容了,具体还分左右外连接触发器是个特殊的存储过程,它的执行不是人工操作的,而是由某事件的发生而引发的。Mysql的触发器相当于内部处理的一些过程,不带入和带出任何的参数。其内部使用的参数就是新旧两条记录old和new的字段。用于完成数据表之间的触发操作,来保证数据库的一致性、完整性。Mysql的存储过程是类似于其它编程语言中的函数的功能。存储过程内部可以使用顺序循环和转移三种基本程序结构,而且整个存储过程可以接受和返回参数。 一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。对于存储过程来说可以返回参数,而函数只能返回值或者表对象。存储过程一般是作为一个独立的部分来执行,而函数可以作为查询语句的一个部分来调用,由于函数可以返回一个表对象,因此它可以在查询语句中位于FROM关键字的后面。 触发器、存储过程和函数三者有何区别: 触发器是特殊的存储过程,存储过程需要程序调用,而触发器会自动执行;在什么时候用触发器?要求系统根据某些操作自动完成相关任务。什么时候用存储过程?存储过程就是程序,它是经过语法检查和编译的SQL语句,所以运行特别快。存储过程和用户自定义函数具体的区别。先看定义:存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作容易得多。存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。

转载于天翼云,如有侵权,请联系删除,谢谢