mysql 在database bms 上 创建一个存储函数func_3,要求根据输入的图书名称,返回该图书的价格。如果该图书不存在,则返回价格为0。然后调用该存储函数,分别查询“三国演义”和“红楼梦”的价格。
时间: 2024-05-04 18:20:24 浏览: 126
首先,我们需要在 `database bms` 中创建一个存储函数 `func_3`,代码如下:
```mysql
CREATE FUNCTION func_3(book_name VARCHAR(50))
RETURNS DECIMAL(10,2)
BEGIN
DECLARE price DECIMAL(10,2);
SELECT book_price INTO price FROM books WHERE book_title = book_name;
IF price IS NULL THEN
SET price = 0.00;
END IF;
RETURN price;
END
```
上述存储函数的功能是:查询 `books` 表中符合条件的图书价格,并返回该价格。如果查询结果为空,则将价格设置为 0,并返回 0。
接下来,我们可以调用 `func_3` 函数,查询“三国演义”和“红楼梦”的价格,代码如下:
```mysql
SELECT func_3('三国演义') AS price_of_sgyy, func_3('红楼梦') AS price_of_hlm;
```
运行上述代码后,会返回类似下面的结果:
```
+--------------+--------------+
| price_of_sgyy | price_of_hlm |
+--------------+--------------+
| 30.00 | 35.00 |
+--------------+--------------+
```
其中,`price_of_sgyy` 和 `price_of_hlm` 分别表示“三国演义”和“红楼梦”的价格。如果该图书不存在,则返回价格为 0。
阅读全文