create procedure saveorderitem(oid bigint,pid bigint,pq int,pname varchar(32),pnumber int,pprice double)
begin
declare exit handler for sqlexception rollback;
declare updatenumber int;
set updatenumber=pnmuber-pq;
insert into orderitem(pname,pid,price,number,oid) values(pname,pid,pprice,pq,oid);
update product set number=updatenumber where pid=pid;
commit;
end;
这段代码哪里错误了!
Variable or condition declaration alter cursor or handler declaration
begin
declare exit handler for sqlexception rollback;
declare updatenumber int;
set updatenumber=pnmuber-pq;
insert into orderitem(pname,pid,price,number,oid) values(pname,pid,pprice,pq,oid);
update product set number=updatenumber where pid=pid;
commit;
end;
这段代码哪里错误了!
Variable or condition declaration alter cursor or handler declaration
oid bigint,
pid bigint,
pq int,
pname varchar(32),
pnumber int,
pprice double)
begin
declare updatenumber int; -- ACMAIN, 变量的声明必须在handler之前,换下顺序就可以了。
declare exit handler for sqlexception rollback;
set updatenumber=pnmuber-pq;
insert into orderitem(pname,pid,price,number,oid) values(pname,pid,pprice,pq,oid);
update product set number=updatenumber where pid=pid;
commit;
end;