select v_sql;
    SET @v=CONCAT(' ',v_sql) ;
    PREPARE  stmt1  FROM  @v;
    EXECUTE  stmt1;     
    SET alert_rowcount=FOUND_ROWS();
    DEALLOCATE PREPARE stmt1;  
怎么知道v_sql查询得到的结果?

解决方案 »

  1.   

    可以通过 FOUND_ROWS()  来确定上次执行的 select 语句返回了多少行。
      

  2.   

    哈哈哈哈哈哈!
    ACMAIN_CHM
    这次栽拉!
    #拼接查询总记录的SQL语句    
    set v_sqlcounts = concat('select count(*) into @recordcount from ',v_tables,v_where);    
    set @sqlcounts := v_sqlcounts;    
    #预处理动态SQL    
    prepare stmt from @sqlcounts;    
    #传递动态SQL内参数    
    set @s1= categoryid;    
    execute stmt using @s1;    
    deallocate prepare stmt;    
    #获取动态SQL语句返回值    
    set recordcount = @recordcount;