mysql存储过程图文实例讲解,mysql存储过程图文实例讲解教程

mysql存储过程图文实例讲解,mysql存储过程图文实例讲解教程,MySQL存储过程图文实例讲解

虽然一般不会用到MySQL存储过程,但是在一些特殊场景下还是有需求的。下面这篇文章主要介绍MySQL存储过程的相关信息,有需要的朋友可以参考一下。

目录

MySQL存储过程MySQL存储过程1的创建。简单的例子2。通过遍历光标来汇总结果集。

MySQL的存储过程

存储过程是数据库的一个重要功能。MySQL 5.0之前不支持存储过程,这让MySQL的应用大打折扣。好在MySQL 5.0开始支持存储过程,可以大大提高数据库的处理速度和数据库编程的灵活性。

MySQL存储过程的创建

语法

CREATE PROCEDURE过程过程名称([[IN|OUT|INOUT]参数名称数据类型[,[IN|OUT|INOUT]参数名称数据类型…])[属性.]过程主体

分隔符//

创建过程myproc(OUT s int)

开始

SELECT COUNT(*)INTO s FROM students;

结束

//

分隔符;

分隔符

MySQL默认为“;”是一个分隔符。如果没有声明分隔符,编译器会将存储过程视为SQL语句,因此编译过程会报告一个错误。所以需要提前用“分隔符//”声明当前段分隔符,这样编译器就可以把两个“//”之间的内容当作存储过程的代码,不会执行这些代码;"分隔符;"恢复分离器。

参数

如果有多个由“,”分隔的参数,存储过程可以根据需要包含输入、输出、输入和输出参数。MySQL存储过程的参数用于存储过程的定义。有三种类型的参数,in、out和inout:

调用存储过程时,必须指定IN参数的值。在存储过程中修改参数的值不能返回,是默认值OUT:这个值可以在存储过程内部修改,可以返回到INOUT:调用时指定,可以修改返回。

过程体

过程的开始和结束由begin和END标识。

1、简单实例

创建过程demo.p_test1()

开始

-使用declare语句声明变量。

声明id int default 0;

声明name varchar(50)default“”;

-使用set语句为变量赋值。

集合id=7521

-将users表中id=1的名称分配给username。

从demo.emp中选择ename into name,其中empno=id

-返回变量

选择名称;

结束;

2、通过游标遍历结果集

创建表demo.test(

id int,

cnt varchar(50)

)

创建过程demo.p_test2()

-通过光标遍历结果集

开始

-声明变量

声明id int default 0;

声明name varchar(50)default“”;

声明done布尔默认值为1;

-声明一个游标

从demo.dept中为SELECT deptno,dname声明rs游标。

-定义异常:

声明SQLSTATE“02000”SET done=0的continue处理程序;

-打开光标

开放RS;

从demo.test删除;

做完了就做

开始

将rs提取到id,name

插入到demo.test SELECT e.deptno,count(1) from demo.emp e其中e . deptno=id group by e . deptno;

结束;

结束while

-关闭光标

关闭RS;

结束;

调用demo . p _ test2();

SELECT * from demo.test

总结

这就是这篇关于MySQL存储过程的文章。有关MySQL存储过程的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!

mysql存储过程图文实例讲解,mysql存储过程图文实例讲解教程