存储过程简介
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。
存储过程的特点
-
能完成较复杂的判断和运算
-
可编程行强,灵活
-
SQL编程的代码可重复使用
-
执行的速度相对快一些
-
减少网络之间的数据传输,节省开销
测试
CREATE DEFINER=`root`@`localhost` PROCEDURE `addMovie`()
BEGIN
#定义一个图片连接
DECLARE imgUrl VARCHAR(255);
#定义一个播放连接
DECLARE harfUrl VARCHAR(255);
#遍历数据结束标志
DECLARE done INT DEFAULT FALSE;
#定义一个游标
DECLARE data_s CURSOR FOR (
SELECT img_movie,url_movie FROM dbu_movie
);
#将结束标志绑定到游标
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
#打开游标
OPEN data_s;
#开始循环
read_loop: LOOP
#从游标中提前数据
FETCH data_s INTO imgUrl,harfUrl;
#判断游标是否终止
IF done THEN
LEAVE read_loop;
END IF;
#具体业务
INSERT INTO `movie`.`procedure`(`img_url`, `harf_url`) VALUES (imgUrl, harfUrl);
#结束循环
END LOOP read_loop;
#关闭游标
CLOSE data_s;
END