创建一个存储过程,实现查询指定出版社(出版社名称)出版某本图书(图书名称)的数量和单价,(其中,出版社名称和图书名称以存储过程的输入参数设定),并执行该存储过程检查其正确性
时间: 2024-01-30 16:01:56 浏览: 150
数据库管理与应用 8.2.3 创建带有输入、输出参数的存储过程.pdf
以下是实现该存储过程的 SQL 代码:
```
CREATE PROCEDURE `get_book_info` (
IN publisher_name VARCHAR(50),
IN book_name VARCHAR(50)
)
BEGIN
SELECT COUNT(*) AS book_num, AVG(price) AS book_price
FROM books b JOIN publishers p ON b.publisher_id = p.publisher_id
WHERE b.book_name = book_name AND p.publisher_name = publisher_name;
END
```
该存储过程包含两个输入参数:出版社名称和图书名称。它会查询 books 和 publishers 两个表,筛选出指定出版社出版的指定图书的数量和单价。
执行该存储过程时,可以使用以下 SQL 语句:
```
CALL get_book_info('出版社名称', '图书名称');
```
其中,'出版社名称' 和 '图书名称' 分别替换为实际的出版社名称和图书名称。
执行后,该存储过程会返回两个结果集,第一个结果集包含指定图书的数量,第二个结果集包含指定图书的单价。可以通过客户端工具或者其他方式查看结果集,验证存储过程的正确性。
阅读全文