在数据库bookstore中创建一个存储过程discountBookin bookno char6 out disprice double在goods表中根据输入的图书编号判断如果价格不为null返回该书的八折的折扣价格为多少钱。调用discountBook‘050001’disprice并测试。
创建存储过程的SQL语句如下:
CREATE PROCEDURE discountBook(
IN bookno CHAR(6),
OUT disprice DOUBLE
)
BEGIN
SELECT IFNULL(price*0.8, 0) INTO disprice
FROM goods
WHERE bookno = bookno;
END
该存储过程接收一个图书编号作为输入参数,同时输出该图书的八折价格。使用IFNULL函数判断价格是否为null,如果不为null,则计算八折价格并返回,否则返回0。
调用discountBook存储过程的SQL语句如下:
CALL discountBook('050001', @disprice);
该语句会将编号为‘050001’的图书的八折价格赋值给变量@disprice。
测试的SQL语句如下:
SELECT @disprice;
该语句会输出变量@disprice的值,即八折价格。
原文地址: https://www.cveoy.top/t/topic/ePZS 著作权归作者所有。请勿转载和采集!