0

我正在尝试学习 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 很陌生 ..请多多包涵 :)

谢谢!

4

1 回答 1

0

不幸的是,对于您的学习,答案与存储过程无关。

插入可以获取选择的结果:

INSERT into table2
SELECT name, location
FROM table1

如果您确实需要在存储过程中循环遍历行集,请查看cursors

于 2012-10-13T21:02:50.730 回答