什么是存储过程,简单来说存储过程是一组为了完成特定功能的的SQL语句集。先看脚本:
#! /bin/bash
host="xxx"
port="xxx"
userName="xxx"
password="xxx"
dbname="xxx"
dbset="--default-character-set=utf8 -A"
/usr/local/mysql/bin/mysql -h${host} -u${userName} -p${password} ${dbname} -P${port} -e "source test.sql"再看test.sql:
delimiter $
create procedure ac()
begin
declare i int;
set i=1;
while i<10000 do
insert into mapan values(i);
set i=i+1;
end while ;
end $
call ac()$create procedure是创建一个存储过程,ac是存储过程的名字。
执行脚本文件:
| 9987 |
| 9988 |
| 9989 |
| 9990 |
| 9991 |
| 9992 |
| 9993 |
| 9994 |
| 9995 |
| 9996 |
| 9997 |
| 9998 |
| 9999 |
+------+
9999 rows in set (0.00 sec)
mysql> show procedure status;
+------+------+-----------+----------------+---------------------+---------------------+---------------+---------+----------------------+----------------------+--------------------+
| Db | Name | Type | Definer | Modified | Created | Security_type | Comment | character_set_client | collation_connection | Database Collation |
+------+------+-----------+----------------+---------------------+---------------------+---------------+---------+----------------------+----------------------+--------------------+
| test | ac | PROCEDURE | root@localhost | 2018-03-08 09:06:31 | 2018-03-08 09:06:31 | DEFINER | | utf8 | utf8_general_ci | latin1_swedish_ci |
+------+------+-----------+----------------+---------------------+---------------------+---------------+---------+----------------------+----------------------+--------------------+
1 row in set (0.00 sec)
mysql> 查询表可以看到插入了9999行数据,还可以看到我们创建的存储过程。
版权声明:本文为ma2595162349原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。