我正在尝试学习mysql中的存储过程,这可能不是你需要使用SP的最佳场景,但它仍然是一个学习过程:)
我有一张表,请说table1
,其中包含以下列:
table1_name, table1_location
我有另一张表,说table2
,后面有列
table2_name, table2_location
假设table1现在有5条记录,而table2是空白的。我想运行一个SP,并将所有table1_name和table1_location数据分别输入table2_name和table2_location。
这是我写的mysql代码 -
DELIMITER //
CREATE PROCEDURE INS()
BEGIN
SELECT table1_name, table1_location FROM table1;
SET name, location VARCHAR(50);
INSERT INTO table2 VALUES (name, location);
END //
DELIMITER ;
这段代码显然无效!我担心的是,由于已有5条记录,因此table1_name将是一个具有5个值的数组,而table1_location也将是一个具有5个值的数组,通常由SELECT操作返回。如何获取每个单元格值然后执行插入操作?
我对mysql / SP ...很新,跟我一起:)
谢谢!
答案 0 :(得分:0)
不幸的是,对于您的学习,答案与存储过程无关。
插入可以获取选择的结果:
INSERT into table2
SELECT name, location
FROM table1
如果你遇到了真正需要在存储过程中循环行集的事情,请查看cursors。