【发布时间】:2016-01-12 05:36:14
【问题描述】:
在下一个示例过程中,是否可以将查询表中的行作为过程结果集输出,同时将单个字段或某些字段存储在变量中(类似于我使用 SELECT INTO 时)?我能想象的唯一方法是重复查询。
CREATE PROCEDURE `Panel_TerminalesForm`(IN idTerminal INT)
BEGIN
declare somefield INT:
-- this select statement returns the found row as a resultset
SELECT terminales.*
FROM terminales
WHERE id_terminal = idTerminal;
-- but I also want to have here a table field inside the variable somefield
-- do some manipulation with somefield...
END;
【问题讨论】:
-
我不确定我是否理解正确,但似乎您需要的是临时表。
-
我正在寻找某种方式来告诉 MySQL“请执行 SELECT INTO 我的 vars 但也输出结果集”,但恐怕我不能,所以很可能是一个有效的解决方案。如果您将其作为分析器发布并且代码正在运行,我不会怀疑将其标记为正确
-
我发布了一个答案,结果与您的查询相同,但现在您可以在临时表中做任何您想做的事情,而不会影响原始/物理表。
标签: mysql sql select stored-procedures resultset