【发布时间】:2020-05-01 22:05:42
【问题描述】:
我希望存储过程返回我选择的每一列的值。
我有第 1 列第 2 列和第 3 列的客户表。 我有一个返回 10 行的选择,我想为每一行获取第 1 列、第 2 列和第 3 列的结果。
我该怎么做?
BEGIN
DECLARE n INT DEFAULT 0;
DECLARE i INT DEFAULT 0;
DECLARE col1 INT DEFAULT 0;
DECLARE col2 VARCHAR(10) DEFAULT "";
DECLARE col3 INT DEFAULT 0;
SELECT COUNT(*) into n FROM customer;
set i=1;
WHILE i<=n DO
SELECT column1 FROM customer WHERE id=i INTO col1;
SELECT column2 FROM customer WHERE id=i INTO col2;
SELECT column3 FROM customer WHERE id=i INTO col3;
SET i = i + 1;
END WHILE;
END
如何获取 col1、col2 和 col3 的每个值以显示并用于下一次处理。
如何在 MySQL 中调用这个存储过程?
【问题讨论】:
-
请您扩展您的倒数第二句话 - 一个简单的选择将显示列,因此我不明白问题是什么或您的下一次治疗是什么意思。 mysql调用过程名称(参数)中的“我如何调用”
-
@P Salmon 在这句话中“我如何让每个值 col1、col2 和 col3 显示它并用于下一次处理。”,我说我想显示 col1 的值,col2 和 col3 。我想看这个内容。我的问题是如何完成我的存储过程并使用参数调用它?如果你有一个想法,你能告诉我吗
-
我第一条评论的最后一句告诉你如何调用存储过程,这里重复一遍——调用过程名称(参数)——你试过吗?你有问题吗?另见dev.mysql.com/doc/refman/8.0/en/create-procedure.html