我有两个表,
有人可以解释一下吗?
reorder_table(item_id number,stock_level number) and
stock(item_id number,item_desc varchar2(20),stock_level number)
根据该数据PEN
和PENCIL
应该需要重新排序因为他们的库存水平低于订货股票值。
我有一个日志表sql_errors
记录需要重新排序的项目。这里是我的代码
DECLARE
out_of_stock EXCEPTION;
v_item VARCHAR2(20);
CURSOR inv_cur
IS
SELECT a.item_id,
b.item_desc,
a.stock_level reorder_level,
b.stock_level stock_level
FROM reorder_level a,
stock b
WHERE a.item_id=b.item_id ;
BEGIN
BEGIN -- sub block
FOR c IN inv_cur
LOOP
IF c.reorder_level > c.stock_level THEN
v_item :=c.item_desc;
raise out_of_stock;
END IF;
END LOOP;
EXCEPTION
WHEN out_of_stock THEN
INSERT INTO sql_errors VALUES
('Item '||v_item|| ' Is out of Stock');
END; -- sub block ends
END;
,以便继续执行引发异常后也并记录需要重新排序的所有项目我都写的内部块。但在日志表中只有项目PENCIL
正在记录。不是笔。
为什么会发生这种情况?
谢谢!现在我清楚了 – redsoxlost