2013-12-17 58 views
4

我是使用存儲過程的新手。我有這個查詢從表中獲取值。如何使用存儲過程在mysql中選擇並插入值

之後,我需要將結果插入到另一個表中。

這裏是我的查詢:

SELECT a.gender, 
      b.purpose_abroad_as_per_recorded_travel, 
      b.country_name 
    FROM b LEFT JOIN a 
    ON b.person_id=a.id 

,我打算插入所有結果表「C」。

我該如何做選擇和插入同時使用存儲過程?感謝

回答

5

您可以將結果從選擇直接返回到插入:

DELIMITER // 
CREATE PROCEDURE updateTableC() 
BEGIN  
     INSERT INTO c (gender, purpose_abroad_as_per_recorded_travel, country_name) 
     SELECT a.gender, b.purpose_abroad_as_per_recorded_travel, b.country_name 
     FROM b LEFT JOIN a 
     ON b.person_id=a.id; 
END// 
DELIMITER ; 

因爲這是一個良好的開端在MySQL存儲過程的詳細信息:入門開始於MySQL Stored Procedures

2

試試這個:

INSERT INTO c (gender, purpose_abroad_as_per_recorded_travel, country_name) 
SELECT a.gender, b.purpose_abroad_as_per_recorded_travel, b.country_name 
FROM b 
LEFT JOIN a ON b.person_id = a.id; 
相關問題