【发布时间】:2015-09-18 05:14:35
【问题描述】:
我有一个 TableA,我想从中获取一些信息,例如tableA 有列**name, age and rollNo**,我想将**age** 和**rollNo** 从 tableA 插入到 tableB 中,只要年龄大于 20 并且滚动不小于 500
无论如何这可以在 MySQL 中使用过程或其他东西来完成。
【问题讨论】:
-
“循环插入记录”总是一个坏主意。这可以在单个语句中完成。
-
@Cᴏʀʏ 有时这是不可避免的。在这种情况下,如果必须在服务器上完成,使用 CURSOR 的存储过程是唯一的方法。
-
@Uueerdo:我想我不知道 MySQL 的查询语法有多强大——例如,我从未在 T-SQL 中使用过 CURSOR(相反,WHILE 循环很棒)。您几乎总是可以编写没有 CURSOR 的循环,即使 CURSOR 是最简单的方法。这样的事情应该是最后的手段(当然,以我的拙见)。
-
@Cᴏʀʏ 您仍然需要遍历 MySQL 存储过程中的游标结果。这不是相反的事情。正是您用来在存储过程中迭代结果的工具。