以往的存储过程代码(部分)
2011-12-13 21:21
253 查看
/*
编写一段程序,将每种玩具的价格提高¥0.5,
直到玩具的平均价格接近$24.5为止。此外,任何玩具的最大价格不应超过$53。
*/
create procedure rise_price()
begin
declare average float(4,2);
declare maxV float(4,2);
select avg(mtoyrate) into average from toys;
select max(mtoyrate) into maxV from toys;
when average <= 24.5 && maxV <= 53 do
update toys set mtoyrate = mtoyrate + 0.5;
select avg(mtoyrate) into average from toys;
select max(mtoyrate) into maxV from toys;
end while;
if average > 24.5 || maxV > 53 then
update toys set mtoyrate = mtoyrate - 0.5;
end;
--执行时
call rise_price();
/*创建一个称为prcCharges的存储过程,它返回某个定单号的装运费用和包装费用。
*/
--表格
mysql> select corderno,mshippingcharges,mgiftwrapcharges from orders;
+----------+------------------+------------------+
| corderno | mshippingcharges | mgiftwrapcharges |
+----------+------------------+------------------+
| 000001 | 6 | 1.25 |
| 000002 | 8 | 2 |
| 000003 | 12 | 0 |
+----------+------------------+------------------+
9 rows in set
create procedure prccharges(in orderno char(6),
out shippingCharges float(4,2),out wrapCharges float(4,2))
begin
select mshippingcharges into shippingCharges from
orders where corderno = orderno;
select mgiftwrapcharges into wrapcharges from orders
where corderno = orderno;
end;
--执行时命令
call prccharges('000001',@pp,@qq);
select @pp,@qq;
--执行结果
mysql> select @pp,@qq;
+-----+------+
| @pp | @qq |
+-----+------+
| 6 | 1.25 |
+-----+------+
1 row in set
/*创建一个称为prcHandlingCharges的过程,它接收定单号并显示经营费用。
提示:经营费用=装运费+礼品包装费
*/
create procedure prcHandLingCharges(in orderno char(6),
out handlingCharges float(4,2))
begin
declare ppp float(4,2);
declare qqq float(4,2);
call prccharges(orderno,ppp,qqq);
set handlingCharges = ppp + qqq;
end;
--执行时命令
call prcHandLingCharges('000001',@qqqq);
select @qqqq;
--执行结果
mysql> select @qqqq;
+-------+
| @qqqq |
+-------+
| 7.25 |
+-------+
1 row in set
编写一段程序,将每种玩具的价格提高¥0.5,
直到玩具的平均价格接近$24.5为止。此外,任何玩具的最大价格不应超过$53。
*/
create procedure rise_price()
begin
declare average float(4,2);
declare maxV float(4,2);
select avg(mtoyrate) into average from toys;
select max(mtoyrate) into maxV from toys;
when average <= 24.5 && maxV <= 53 do
update toys set mtoyrate = mtoyrate + 0.5;
select avg(mtoyrate) into average from toys;
select max(mtoyrate) into maxV from toys;
end while;
if average > 24.5 || maxV > 53 then
update toys set mtoyrate = mtoyrate - 0.5;
end;
--执行时
call rise_price();
/*创建一个称为prcCharges的存储过程,它返回某个定单号的装运费用和包装费用。
*/
--表格
mysql> select corderno,mshippingcharges,mgiftwrapcharges from orders;
+----------+------------------+------------------+
| corderno | mshippingcharges | mgiftwrapcharges |
+----------+------------------+------------------+
| 000001 | 6 | 1.25 |
| 000002 | 8 | 2 |
| 000003 | 12 | 0 |
+----------+------------------+------------------+
9 rows in set
create procedure prccharges(in orderno char(6),
out shippingCharges float(4,2),out wrapCharges float(4,2))
begin
select mshippingcharges into shippingCharges from
orders where corderno = orderno;
select mgiftwrapcharges into wrapcharges from orders
where corderno = orderno;
end;
--执行时命令
call prccharges('000001',@pp,@qq);
select @pp,@qq;
--执行结果
mysql> select @pp,@qq;
+-----+------+
| @pp | @qq |
+-----+------+
| 6 | 1.25 |
+-----+------+
1 row in set
/*创建一个称为prcHandlingCharges的过程,它接收定单号并显示经营费用。
提示:经营费用=装运费+礼品包装费
*/
create procedure prcHandLingCharges(in orderno char(6),
out handlingCharges float(4,2))
begin
declare ppp float(4,2);
declare qqq float(4,2);
call prccharges(orderno,ppp,qqq);
set handlingCharges = ppp + qqq;
end;
--执行时命令
call prcHandLingCharges('000001',@qqqq);
select @qqqq;
--执行结果
mysql> select @qqqq;
+-------+
| @qqqq |
+-------+
| 7.25 |
+-------+
1 row in set
相关文章推荐
- 刚才我提出要把数据库处理部分放到代码里,但是有人提出,存储过程有缓存,速度快。我该怎么说啊?
- 刚才我提出要把数据库处理部分放到代码里,但是有人提出,存储过程有缓存,速度快。我该怎么说啊?
- 刚才我提出要把数据库处理部分放到代码里,但是有人提出,存储过程有缓存,速度快。我该怎么说啊?
- ASPNETDB 存储过程(3) 角色管理部分(转载)
- 存储过程代码收集
- 存储过程分页代码
- 编写存储过程,并且使用java代码调用存储过程的简单例子
- 使用wrap和unwrap加密解密Oracle的PL/SQL对象(包,存储过程,函数等)代码
- Java代码调用Oracle的存储过程,存储函数和包
- mysql存储过程代码
- 用最简洁有效的代码执行存储过程 C#
- 代码大全第二版读书笔记 第二部分-创建高质量的代码 九、伪代码编程过程
- java调用存储过程代码
- 使用数据2分处理的通用分页存储过程 前半部分与后半部分数据访问时间相同,同等访问速度提高一倍
- 在C#中用最简洁有效的代码执行存储过程并返回数据
- PHP调用MySQL的存储过程的实现代码
- 通用高效分页存储过程代码(来自CSDN文档)
- 在存储过程中编写正确的事务处理代码
- 使用系统表根据存储过程名字生成ADO.NET数据库访问代码
- 工作笔记-存储过程部分