2013-08-02 107 views
1

我想將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?

+0

這是不可能的。即使有功能也不可能。另一種選擇是在'storeprocedure1'內部加載'TBL1'。 –

+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; 
+0

有幫助嗎?你的問題需要更多幫助嗎? – peterm