create procedure test(in tablename varchar(10))
begin
declare  temp cursor  for  select * from tablename ;
open temp;
....
end temp;end

解决方案 »

  1.   


    这样是不行的,可我找不到其它方法。
    set sql_stat=concat('declare temp cursor for select from ',tablename);
    set @s:=sql_stat;
    prepare str from @s;
    execute str; 
    这样也不行,求帮助 !谢谢
      

  2.   

    set sql_stat=concat('declare temp cursor for select from ',tablename);SET @RUNSQL = sql_stat;
    PREPARE A FROM @RUNSQL;
    EXECUTE A;
    DEALLOCATE PREPARE A;
    象我这样写,给分吧
      

  3.   

    create procedure pg_proc()
    begin
    SET @test=CONCAT('select * from',?);
    PREPARE tt from @test;
    set @tableName=tablename;
    execute tt using @tableName;
    end;在mysql5.2使用正常,mysql5.0.2使用不正常,版本问题.
      

  4.   

    mysql支持动态执行吧,应该可以的