如何使用存储过程在mysql中选择和插入值

Eri*_*tos 4 mysql sql sql-server stored-procedures insert-select

我是使用存储过程的新手.我有这个查询从表中获取值.

之后,我需要将结果插入另一个表.

这是我的查询:

   SELECT a.gender, 
          b.purpose_abroad_as_per_recorded_travel, 
          b.country_name 
   FROM b   LEFT JOIN a
   ON b.person_id=a.id
Run Code Online (Sandbox Code Playgroud)

我计划将所有结果插入表'c'.

如何使用存储过程同时进行选择和插入?谢谢

Jon*_*han 6

您可以将select中返回的结果直接插入到insert中:

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 ;
Run Code Online (Sandbox Code Playgroud)

有关MySQL存储过程的更多信息,这是一个良好的开端:MySQL存储过程入门.