mysql - MariaDB/MySQL 函数 Select into 返回多于一行,3 个变量
问题描述
我目前正在学习 SQL,我们使用 MariaDB 和 Toad for MySQL 作为我们的图形编辑器。目前,我们必须创建一个返回 3 个不同变量的函数。
SELECT ourFunction(c.dni), v.CV, cl.nom_color
INTO @var_age, @var_cv, @var_color
FROM vehicle v
INNER JOIN client c
ON c.dni=v.dni
INNER JOIN color cl
ON v.color=cl.cod_color
我们需要每个变量给我们一个准确的值,以便我们可以在另一个函数上使用它。目前的问题是我们无法在变量上得到我们想要的结果。
客户与车辆 1:N
车辆与颜色 1:1
ourFunction 计算客户的年龄。这就是它的作用:
DELIMITER //
CREATE FUNCTION ourFunction(dni varchar(9))
RETURNS tinyint(3)
BEGIN
select TIMESTAMPDIFF (YEAR, birth_date, CURDATE()) AS age
INTO @age
FROM client c
WHERE c.dni=dni;
RETURN @age;
END //
DELIMITER ;
解决方案
推荐阅读
- passwords - 是否可以在 Keycloak 中查看哪些用户从未更新过密码?
- jenkins - debian pbuilder Jenkins 插件缺少源/格式文件
- php - PHP检查数组键是否等于特定的字符串值
- python - Seaborn catplot“TypeError:`x` 和 `y` 变量似乎都不是数字”,但 Y 是浮点数
- c - 数制转换器
- react-native - 双击时防止博览会视频调整大小
- flutter - FAILURE:构建失败并出现异常。* 出了什么问题:无法启动守护进程
- kotlin - 如何从 Flow 中转换每个元素
- > 并返回新流
- >
- spring-mvc - hdiv:url 不再包裹 spring:url 了?
- metabase - K6 元数据库发布请求正在获取 {"errors":{"database":"value must be an integer."}} 尽管 value 是 integer