gpt4 book ai didi

mysql - 使用两个参数在 MYSQL 中运行过程

转载 作者:行者123 更新时间:2023-11-29 06:49:32 26 4
gpt4 key购买 nike

我正在尝试创建一个函数来计算圆柱体的侧面积。

DELIMITER $$

DROP PROCEDURE IF EXISTS arealateral$$
CREATE PROCEDURE arealateral(input_number,input_number)
BEGIN
DECLARE raio DECIMAL(10,5);
DECLARE alt DECIMAL (10,5);
SET raio = input_number;
SET alt = input_number;
SELECT 2*pi()*raio*alt;
END$$
DELIMITER;

当我运行时

CALL arealateral(1,1)$$

错误出现

ERROR 1318 (42000): Incorrect number of arguments for PROCEDURE aula3.arealateral; expected 0, got 2

最佳答案

更新:将其更改为

DROP PROCEDURE IF EXISTS arealateral;

CREATE PROCEDURE arealateral(in raio DECIMAL(10,5), in alt DECIMAL(10,5))
SELECT 2*pi()*raio*alt;

SQLFiddle

更新 2: 根据您在评论中发布的后续问题,您应该使用 functions

CREATE FUNCTION arealateral(raio DECIMAL(10,5), alt DECIMAL(10,5))
RETURNS DECIMAL(10,5) DETERMINISTIC
RETURN 2*pi()*raio*alt;

CREATE FUNCTION areatotal(raio DECIMAL(10,5), alt DECIMAL (10,5))
RETURNS DECIMAL(10,5) DETERMINISTIC
RETURN 2*areac(raio) + arealateral(raio,alt);

然后你可以像调用任何其他函数一样调用它们

SELECT areatotal(1,1);
SELECT arealateral(1,1);

不要忘记创建 areac 函数。

SQLFiddle

关于mysql - 使用两个参数在 MYSQL 中运行过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16390671/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com