第9讲存储过程与存储函数存储过程和函数是在数据库中定义一些SQL语句的集合,然后直接调用这些存储过程和函数来执行已经定义好的SOL语句。存储过程和函数可以避免开发人员重复的编写相同的SQL语句。而且,存储过程和函数是在MySQL服务器中存储和执行的,可以减少客户端和服务器端的数据传输
第9讲 存储过程与存储函数 SQL SQL SQL MySQL
9.1创建存储过程和函数创建存储过程和函数是指将经常使用的一组SQL语句的组合在一起,并将这些SOL语句当作一个整体存储在MySQL服务器中。例如,银行经常需要计算用户的利息。不同类别的用户的利率是不一样的。这就可以将计算利率的SQL代码写成一个存储过程或者存储函数。只要调用这个存储过程或者存储函数,就可以将不同类别用户的利息计算出来
9.1 创建存储过程和函数 SQL SQL MySQL SQL
9.1.1创建存储过程MySQL中,创建存储过程的基本形式如下:CREATEPROCEDUREsp_name(lproc_parameterl,...Jl)[characteristic ...] routine_body
9.1.1 创建存储过程 MySQL CREATE PROCEDURE sp_name ([proc_parameter[,.]]) [characteristic .] routine_body
Spname:存储过程的名称,默认在当前数据库中创建。这个名称应当尽量避免与MySQL的内置函数相同的名称Proc_parameter:存储过程的参数列表格式[INjOUTJINOUT]param_nametypeParamname为参数名,type为参数的数据类型。多个参数彼此间用逗号分隔。输入参数、输出参数和输入/输出参数,分别用in/out/inout标识。参数的取名不要与数据表的列名相同
Sp_name:存储过程的名称,默认在当前数据库中创建 。这个名称应当尽量避免与MySQL的内置函数相同的名称 Proc_parameter:存储过程的参数列表 格式[IN|OUT|INOUT]param_name type Param_name为参数名,type为参数的数据类型。多 个参数彼此间用逗号分隔。输入参数、输出参数和输入/输 出参数,分别用in/out/inout标识。参数的取名不要与数据 表的列名相同
Characteristic:存储过程的某些特征设定,分别介绍1COMMENT'string':用于对存储过程的描述,其中string为描述内容,comment为关键字。2LANGUAGESQL:指明编写这个存储过程的语言为SQL语言。这个选项可以不指定。3DETERMINISTIC:表示存储过程对同样的输入参数产生相同的结果;NOTDETERMINISTIC,则表示会产生不确定的结果(默认)
Characteristic:存储过程的某些特征设定,分别介绍 1 COMMENT’string’:用于对存储过程的描述,其中 string为描述内容,comment为关键字。 2 LANGUAGE SQL:指明编写这个存储过程的语言为 SQL语言。这个选项可以不指定。 3 DETERMINISTIC:表示存储过程对同样的输入参数产 生相同的结果;NOT DETERMINISTIC,则表示会产生不确 定的结果(默认)