我需要操作一个存储过程返回的表
现在的问题是我都不知到返回的表名是什么,或者怎么给他取名字,请问这个怎么办啊?谢谢!还有能不能直接与返回表做左连接而不用临时表呢?谢谢!

解决方案 »

  1.   

    存储过程中,只有一个select语句,没有别的东西。因为这个是别人要提供的,所以我只写了一个很简单的例子。DELIMITER $$DROP PROCEDURE IF EXISTS `db1`.`getinfo` $$
    CREATE PROCEDURE `db1`.`getinfo` ()
    BEGIN        select id,name,sex from test;END $$DELIMITER ;基本上就是这样。然后,我想用另一张表,在id相同的情况先与sp的返回表做连接。但是不会:(
      

  2.   

    生成临时表 
    create table newtt as
     select id,name,sex from test;对NEWTT进行连接
      

  3.   

    MYSQL中存储过程无法返回一个记录集或表为结果。如果你是在外部程序中调,则可以直接 mysql_query("call `db1`.`getinfo` ()") 就行,直接使用返回 的结果集。或者你可以在存储过程中创建一个表(预先指定表名)create table temp_getinfo as select id,name,sex from test;然后对方到 temp_getinfo  表中取数据。