获取mysql其他存储过程到新的存储过程数据

时间:2013-08-02 03:29:47

标签: mysql

我想将mysql存储过程的结果存入其他存储过程并插入临时表。

示例:

存储过程1的结果

ID NAME SEX
1  A    M
2  B   F
3  C   M

存储过程中的代码2

CREATE TEMPORARY TABLE TBL1;
INSERT INTO TBL1 (call storeprocedure1(')); 

如何将存储过程1中的所有数据插入到存储过程2的临时表中?

1 个答案:

答案 0 :(得分:0)

不幸的是,你仍然无法在Mysql中做到这一点。

一种可能的解决方案是从第一个存储过程插入临时表并在第二个存储过程中使用它。

CREATE TEMPORARY TABLE tmp_result
    (`ID` int, `NAME` varchar(1), `SEX` varchar(1));

CREATE PROCEDURE sp_one()
  INSERT INTO tmp_result
  SELECT 1 id, 'A' name, 'M' sex UNION ALL
  SELECT 2, 'B', 'F' UNION ALL
  SELECT 3, 'C', 'M';

CREATE PROCEDURE sp_two()
  SELECT * FROM tmp_result;

CALL sp_one();
CALL sp_two();

DROP TEMPORARY TABLE tmp_result;