--游标
CREATE
PROCEDURE t_procedure()
BEGIN
DECLARE tmpName VARCHAR(20) DEFAULT "";
DECLARE allName VARCHAR(20) DEFAULT "";
DECLARE cur1 CURSOR FOR SELECT name FROM t2;
DECLARE CONTINUE handler FOR SQLSTATE '02000'
SET tmpName = NULL;
OPEN cur1;
FETCH cur1 INTO tmpName;
WHILE(
tmpName IS NOT NULL
) Do
SET
tmpName = CONCAT( tmpName ,"," );
SET
allName = CONCAT( allName ,tmpName );
FETCH cur1 INTO tmpName;
END WHILE;
CLOSE cur1;
SELECT
allName;
end $
call t_procedure()$
--加法
create procedure t_sum()
begin
declare a int default 0;
declare b int default 0;
declare cur cursor for select t2 from t2;
--这行表示若没有数据返回,程序继续,并将变量a设为0
declare continue handler for not found set a=0;
open cur;
fetch cur into a;
while a<>0
do
set b=b+a;
fetch cur into a;
end while;
close cur;
select b;
end
转载于:https://my.oschina.net/fangfeiAI/blog/310052