DROP TABLE IF EXISTS t_user;
CREATE TABLE t_user(
id INT(11) auto_increment,
username VARCHAR(255) NOT NULL,
PRIMARY KEY(id)
);
DROP procedure IF EXISTS test_cursor;
create procedure test_cursor (in param int(10),out result varchar(90))
begin
declare idd int;
declare done int;
declare cur_test CURSOR for select ID from t_user;
declare continue handler FOR SQLSTATE '02000' SET done = 1;
if param then
select concat_ws(',',ID) into result from t_user where ID=param;
else
open cur_test;
repeat
fetch cur_test into idd;
select concat_ws(',',result,idd) into result;
until done end repeat;
end if;
close cur_test;
end;
CREATE TABLE t_user(
id INT(11) auto_increment,
username VARCHAR(255) NOT NULL,
PRIMARY KEY(id)
);
DROP procedure IF EXISTS test_cursor;
create procedure test_cursor (in param int(10),out result varchar(90))
begin
declare idd int;
declare done int;
declare cur_test CURSOR for select ID from t_user;
declare continue handler FOR SQLSTATE '02000' SET done = 1;
if param then
select concat_ws(',',ID) into result from t_user where ID=param;
else
open cur_test;
repeat
fetch cur_test into idd;
select concat_ws(',',result,idd) into result;
until done end repeat;
end if;
close cur_test;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货