程序如下:
use test1;
delimiter //
create procedure ordertotal(
in onumber int,
in taxable boolean,
out ototal decimal(8,2)
) comment ' obtain order total, optionally adding tax'
begin
declare total decimal(8,2);
declare taxrate int default 6;
select sum(item_price*quantity)
from orderitems
where order_num=onumber
into total;
if taxable then
select total+(total/100*taxrate) into total;
end if;
select total into ototal;
end //
delimiter ;
delimiter //
create procedure processorderers()
begin
declare done boolean default 0;
declare o int;
declare t decimal(8,2);
declare ordernumbers cursor
for
select order_num from orders;
    declare continue handler for sqlstate '02000' set done=1;
create table if not exists ordertotals(order_num int,total decimal(8,2));
open ordernumbers;
REPEAT
fetch ordernumbers into o;
call ordertotal(o,1,t);
insert into ordertotals(drder_num,total)
values(o,t);
until done end repeat;
close ordernumbers;
end //
delimiter ;在输入select * from ordertotals;后,一开始说在这个库test1下无ordertotals表,后来改改就可以输出了,但是ordertotals表里是空的,无数据,这是什么原因,请各位帮帮小弟,谢谢啦!!!