我有两张桌子:
Item: Order_no, Item, Line_No
Fulfill: Order_no, Location, LINE NO
所有订单的两个表中的LINE_NO字段值相同。
我想更新LINE_NO的值,从1开始,然后转到两个表中的行项目数。
我该怎么做?
答案 0 :(得分:1)
使用程序可能看起来像那样。它只是一个骨架,但一般来说,你只需要将你的更新放在begin - exception - end block中(就像你尝试 - catch - 最后用Java):
create or replace procedure pr_procedure_name is
--some declarations
l_line_no integer;
l_order_no integer;
begin
--some processing here
begin
update item i
set i.line_no = l_line_no
where i.order_no = l_order_no;
update fulfill ff
set ff.line_no = l_line_no
where ff.order_no = l_order_no;
--commit;
--commit or not here - it depends on your processing
exception
when others then
--log something?
rollback;
end;
--some processing there
end pr_procedure_name;