首页 > 数据库技术 > 详细

MySQL PLSQL Demo - 004.模拟动态游标

时间:2015-07-02 13:45:42      阅读:170      评论:0      收藏:0      [点我收藏+]

 参考:写MySQL存储过程实现动态执行SQL,也可以用临时表代替视图。

 

drop procedure if exists p_simulate_dynamic_cursor;

create procedure p_simulate_dynamic_cursor()
begin
    declare v_sql varchar(4000);
        declare v_field varchar(4000);
        declare v_result varchar(4000) default ‘‘;
        declare cur_temp cursor for select v.* from view_temp_20150701 v;
        declare continue handler for not found set v_field = null;

        set v_sql = create view view_temp_20150701 as select t.id from t_user t;
        
        set @v_sql = v_sql;
        prepare statement from @v_sql;
        execute statement;
        deallocate prepare statement;

        open cur_temp;
        fetch cur_temp into v_field;
        while (v_field is not null) do
                set v_result = concat(v_result, v_field, ,);
                fetch cur_temp into v_field;
        end while;
        close cur_temp;
        select v_result;

        drop view if exists view_temp_20150701;
end;

call p_simulate_dynamic_cursor();
        

 

MySQL PLSQL Demo - 004.模拟动态游标

原文:http://www.cnblogs.com/nick-huang/p/4614284.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!