存储过程练习
练习1:在网上书店数据库中创建存储过程
在网上书店数据库中创建一个名为proc_1的存储过程,实现查询所有会员信息的功能
CREATE PROCEDURE proc_1()
BEGIN
SELECT * from user;
END
练习2:在网上书店数据库创建带输入输出参数的存储过程
(1)在“网上书店”数据库中创建一个为名proc_2的存储过程,要求实现如下功能:根据会员的昵称查询该会员的积分情况。并调用存储过程,查询“平平人生”和“感动心灵”的积分。
CREATE PROCEDURE proc_2(in name VARCHAR(10))
BEGIN
SELECT score from user where uname=name;
END
call proc_2('平平人生');
call proc_2('感动心灵');
(2)在“网上书店”数据库中创建一个名为proc_3的存储过程,要求实现如下功能:根据会员的昵称查询该会员的订购信息,如果该会员没有订购任何图书,则输出“某某会员没有订购图书”的信息,否则输出订购图书的相关信息(包括:书名,作者,价格,出版社,折扣)。并调用存储过程,显示会员“四十不惑”订购图书的情况。
CREATE PROCEDURE proc_3(in name VARCHAR(10))
BEGIN
IF (SELECT uname from user where uname=name) is null
then SELECT '查无此人';
ELSE
select DISTINCT author 书名,price 作者,publisher 价格,discount 折扣
from user u join b_order bo on u.uid=bo.uid
join book b on bo.ordernum=b.bid
where u.uname=name;
end if;
END
call proc_3('四十不惑');