码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2015-07-02 13:48:13      阅读:183      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!