在MySQL中使用存储过程设计一个加减乘除四则运算程序;用户可多次输入运算符opr和两个数字n1、n2求得运算结果;当opr=“/”且n2=0时,程序结束;要求程序的输出格式:n1 opr n2 等于 xx.
时间: 2024-10-10 09:16:19 浏览: 30
在MySQL中,你可以创建一个存储过程来实现这个功能。这里是一个简单的示例存储过程设计:
```sql
DELIMITER //
CREATE PROCEDURE FourOperate(IN n1 DECIMAL(10,2), IN n2 DECIMAL(10,2), IN opr CHAR(1))
BEGIN
DECLARE result DECIMAL(10,2);
IF opr = '/' AND n2 = 0 THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = '除数不能为0';
ELSEIF opr IN ('+', '-', '*', '/') THEN
CASE opr
WHEN '+' THEN SET result = n1 + n2;
WHEN '-' THEN SET result = n1 - n2;
WHEN '*' THEN SET result = n1 * n2;
WHEN '/' THEN SET result = n1 / n2; -- 这里假设n2不为0
END CASE;
SELECT CONCAT('n1 ', opr, ' n2 等于 ', CAST(result AS CHAR));
ELSE
SELECT '无效的运算符';
END IF;
END; //
DELIMITER ;
```
使用这个存储过程的示例命令如下:
```sql
CALL FourOperate(5, 3, '+');
-- 输出: n1 + n2 等于 8
CALL FourOperate(6, 2, '*');
-- 输出: n1 * n2 等于 12
CALL FourOperate(10, 2, '/');
-- 输出: n1 / n2 等于 5
CALL FourOperate(7, 0, '/');
-- 输出: 除数不能为0
```
阅读全文