有三个存储过程,
第一个,创建一个临时表
第二个,定义一个游标 指向 那个临时表
第三个,调用以上两个存储过程
当执行第三个存储过程时,报错,原因是那个临时表不存在,现在该怎样解决,请各位大侠指点指点

解决方案 »

  1.   

    临时表,只对当前链接有效,别的连接是看不到的。你别建临时表了,建物理表,用完后drop掉就行了。
      

  2.   

    SET @SQL = 'DROP TEMPORARY TABLE IF EXISTS t_content';
    PREPARE sqlstmt FROM @SQL;
    EXECUTE sqlstmt;
    DEALLOCATE PREPARE sqlstmt;SET @SQL = CONCAT('CREATE TEMPORARY  table t_content  SELECT pageID,pageName,ParentID,Depth,NextID,ChiID,Transfer,content
     FROM db_channel WHERE 1  ORDER BY RootID,OrderID ASC limit ',limit_start,',',pageSize);
    PREPARE sqlstmt FROM @SQL;
    EXECUTE sqlstmt;
    DEALLOCATE PREPARE sqlstmt;
    这是创建临时表的存储过程
    DECLARE cur_content CURSOR FOR
    SELECT pageID,pageName,ParentID,Depth,ChiID,NextID,ChiID,Transfer,content FROM t_content ;
    这是调用临时表的存储过程
    现在执行的操作时做 分页,在存储过程中,需要把每一行的数据进行处理,整合成一个longtext,传给调用程序
      

  3.   

    你事用工具还是用语言执行的?是mysql?