博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL 存储过程的那点知识
阅读量:4221 次
发布时间:2019-05-26

本文共 1740 字,大约阅读时间需要 5 分钟。

需求:在项目的开发中,可能需要手动制造一些仿真数据,此时需要用到MySQL中的存储过程。(即如何在Mysql中写for循环语句)

(1)创建存储过程

delimiter //

drop procedure if exists tim;

create procedure tim(count int)

begin

declare i int;

set i=1;

while i<count do

insert into province (name) values (i);

set i=i+1;

end while;

end //

需要注意的:

(1)由于mysql中对于输入分号符号“;”时,会立即执行该语句,这显然在for循环中不可行,因此,需要重新定义分解符即通过delimiter//,将分解符由原来的分号改为//。当代码输入完成时,需要输入//。

(2)当成功创建完存储过程后,需要更改分界符为原来的分号,因此,需要再次输入delimiter ;,修改为有分号执行语句。

(3)在MySql中对于存储过程的区分只定义到函数名,因此不允许创建重名但是不同参数的存储过程。即如果创建了一个tim(),此时再创建tim(count int)则会报存储名称已经存在。

(2)执行存储过程

call tim(1000);

(3)查看存储过程

查看存储过程有好几种形式,这里给出一种最简单的形式。

show procedure status;

mysql> show procedure status;

+------+------+-----------+----------------+---------------------+---------------------+---------------+---------+----------------------+----------------------+--------------------+

| Db   | Name | Type      | Definer        | Modified            | Created             | Security_type | Comment | character_set_client | collation_connection | Database Collation |

+------+------+-----------+----------------+---------------------+---------------------+---------------+---------+----------------------+----------------------+--------------------+

| chen | tim  | PROCEDURE | root@localhost | 2017-03-27 17:13:30 | 2017-03-27 17:13:30 | DEFINER       |         | utf8                 | utf8_general_ci      | utf8_bin           |

| chen | tim2 | PROCEDURE | root@localhost | 2017-03-27 17:27:37 | 2017-03-27 17:27:37 | DEFINER       |         | utf8                 | utf8_general_ci      | utf8_bin           |

+------+------+-----------+----------------+---------------------+---------------------+---------------+---------+----------------------+----------------------+--------------------+

(4)删除存储过程

两种方式,其本质是一样的:

方式一:

drop procedure if exist tim; //先判断是否存在存储过程名称为tim,如果存在则删除

方式二:

drop procedure tim; //直接删除存储过程为tim

转载地址:http://uqomi.baihongyu.com/

你可能感兴趣的文章
Struts2中过滤器和拦截器的区别
查看>>
51单片机:led灯闪烁10次后熄灭
查看>>
安卓使用okhttp上传文件,服务端PHP接收
查看>>
51单片机:设计有四位数码管,设计3个按键,k1,k2,k3;k1为模式键,第一次按下,显示初始值,k2,k3有效,k2按一次初值加1,k3按一次初值减1;k1第二次按下停止;k1第三次按下清零;
查看>>
安卓:阿里逆地理编码,可直接拿去用
查看>>
thinkphp源码没问题却各种报错,Namespace declaration statement has to be the very first statement in the script
查看>>
android:dkplayer中ijkplayer延迟长的问题,达到秒开的结果
查看>>
安卓:okhttp请求,获取返回数据
查看>>
安卓:股票筛选及分析系统
查看>>
Java复习笔记---泛型
查看>>
java复习笔记---集合类
查看>>
机器学习入门体验(一)
查看>>
Java的23种设计模式
查看>>
贪心算法实现线段覆盖问题
查看>>
浮点数的二进制表示
查看>>
求一组数字组成的最大整数三种解法
查看>>
廖雪峰Python教程学习笔记(1)
查看>>
关于libsvm在linux下运行时遇到get no rate异常
查看>>
Effective Java 学习笔记一 Object的方法
查看>>
对malloc rolloc calloc的用法以及区别
查看>>