
设计题
有商品表(商品号,商品名,分类,单价),请编写一个实现更改商品单价的存储过程(存储过程名为PUPDATE),更改规则如下:“电脑”类商品降价10%,“电视”类商品降价6%,“冰箱”类商品降价3%,其它商品不降价。以商品的分类作为输入参数,假设“分类”为字符串类型,长度最多为6个字符。如果商品表中没有用户指定的分类,那么用输出参数返回字符串“指定的分类不存在”;如果用户指定的分类存在,那么用输出参数返回字符串“修改已成功”。
这里以Oracle的存储过程语法进行说明:
CREATE PROCEDURE PUPDATE(P_TYPE VARCHAR2(6), P_OUT VARCHAR2(10)) AS
V_COUNT NUMBER;
BEGIN
SELECT COUNT(1) INTO V_COUNT FROM 商品表 WHERE 分类 = P_TYPE;
IF V_COUNT > 0 THEN
IF P_TYPE = '电脑' THEN
UPDATE 商品表 SET 单价 = 单价 * 0.9 WHERE 分类='电脑';
END IF;
IF P_TYPE = '电视' THEN
UPDATE 商品表 SET 单价 = 单价 * 0.94 WHERE 分类='电视';
END IF;
IF P_TYPE = '冰箱' THEN
UPDATE 商品表 SET 单价 = 单价 * 0.97 WHERE 分类='冰箱';
END IF;
P_OUT := '修改已成功';
ELSE
P_OUT := '指定的分类不存在';
END IF;
END;
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/
● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
● QQ:646634621 QQ群:618766405
● 题目解答若有不当之处,还望各位朋友批评指正,共同进步
长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。




