MySQL存储过程

存储过程简介

 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。

存储过程的特点

  1. 能完成较复杂的判断和运算

  2. 可编程行强,灵活

  3. SQL编程的代码可重复使用

  4. 执行的速度相对快一些

  5. 减少网络之间的数据传输,节省开销    

测试

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

   

你可能感兴趣的:(SQL,mysql)