使用存储函数或存储过程设计一个加减乘除四则运算程序; 用户可多次输入运算符 opr 和两个数字n1、n2求得运算结果; 当 opr = / 且n2=0时
时间: 2024-10-19 16:13:07 浏览: 29
在数据库中,可以使用存储函数或存储过程来设计一个简单的四则运算程序。这里是一个基本的MySQL存储过程示例,用于执行加、减、乘、除操作:
```sql
DELIMITER //
CREATE PROCEDURE CalculateOperation(IN n1 DECIMAL(10,2), IN n2 DECIMAL(10,2), IN opr CHAR(1))
BEGIN
DECLARE result DECIMAL(10,2);
CASE opr
WHEN '+' THEN
SET result = n1 + n2;
WHEN '-' THEN
SET result = n1 - n2;
WHEN '*' THEN
SET result = n1 * n2;
WHEN '/' WHEN (n2 > 0) THEN
SET result = n1 / n2;
ELSE
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Invalid operator or division by zero';
END CASE;
SELECT result AS operation_result;
END //
DELIMITER ;
```
这个存储过程接受两个数字`n1`和`n2`以及一个运算符`opr`作为输入参数。如果运算符是除法(`/`)并且第二个数`n2`为零,则会抛出一个错误,因为除以零是不允许的。
你可以通过以下方式调用这个存储过程:
```sql
CALL CalculateOperation(10, 2, '+'); -- 输出 12
CALL CalculateOperation(10, 2, '-'); -- 输出 8
CALL CalculateOperation(10, 2, '*'); -- 输出 20
CALL CalculateOperation(10, 2, '/'); -- 输出 5 (假设n2非零)
CALL CalculateOperation(10, 0, '/'); -- 引发错误
```
阅读全文