(1)存储过程是MySQL支持的过程式数据库对象,它是一组完成特定功能的 SQL 语句集,即一段存放在数据库中的代码,可由声明式 SQL 语句和过程式 SQL 语句组成。
(2)创建存储过程可使用 CREATE PROCEDURE语句,调用存储过程可使用CALL语句,删除存储过程可使用DROP PROCEDURE语句。
(3)存储过程可以有一个或多个参数,也可以没有参数。存储过程的参数类型有输入参数、输出参数、输入/输出参数三种,分别用IN.OUT 和 INOUT 三个关键字来标识。
(4)存储过程体以BEGIN开始,以END结束,存储过程体中常用的语法元素有局部变量、SET语句、SELECT…INTO语句、条件判断语句(IF…THEN…ELSE 语句和CASE 语句)、循环语句(WHILE语句、REPEAT语句和LOOP语句)、游标。
(5)存储函数与存储过程相似,都是过程式数据库对象,并为声明式 SQL 语句和过程式SQL 语句组成的代码片段,可以从应用程序和 SQL 中调用。存储函数与存储过程的区别主要是:存储函数不能拥有输出参数,而存储过程可以有输出参数;调用存储函数不能用CALL 语句,而调用存储过程需要使用 CALL 语句;存储函数必须包含一条 RETURN语句,而存储过程不允许包含RETURN语句。
(6)创建存储函数使用 CREATE FUNCTION语句,调用存储函数使用 SELECT 关键字,删除存储函数使用 DROP FUNCTION语句。