mysql存储过程与函数差异化
存储过程和函数之间有几个不同之处:
1)在一般情况下,存储过程的功能更复杂一点,和功能的实现更具有针对性。存储过程是强大的,可以执行一系列的数据库操作,包括修改表,等用户定义函数不能被用来执行一组操作,修改全局数据库现状。
2)存储过程的一个参数,可以返回,如记录集和函数只能返回一个值或一个表对象,函数只能返回一个变量;存储过程可以返回多个。存储过程的参数可以分为三种类型:,,INOUT。函数只能在类中存储,过程声明不需要返回类型,函数声明需要描述返回类型,函数体必须包含有效的返回语句。
3)存储过程,它可以使用非确定性函数,并且不允许在用户定义的函数体中建立不确定函数。
4)存储过程一般是一个独立的部分来执行(执行语句),并且可以作为查询语句的一部分来调用(调用select),因为函数可以返回对象后面的表,因此它可以从关键字中查询,存储过程在SQL语句中不可用,函数可以使用。