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;