【发布时间】:2019-08-14 06:09:27
【问题描述】:
我有一组来自 select 语句的数据过滤,我需要从表 'SHOP_MATERIAL_ASSIGN_TAB' 中删除这些数据。我用光标来删除。但这在执行时引起了问题。在不使用'for update' 方法的情况下完成它的任何想法。
DECLARE
CURSOR DELDATA_ IS
SELECT B.*
FROM IC_WQ_OLD_LOCATION_TAB A, SHOP_MATERIAL_ASSIGN_TAB B
WHERE A.LOCATION_NO = B.LOCATION_NO
AND A.SITE = B.CONTRACT
AND B.LOCATION_NO = 'HYLIN001'
FOR UPDATE;
TEMP_ DELDATA_%ROWTYPE;
BEGIN
OPEN DELDATA_;
LOOP
FETCH DELDATA_
INTO TEMP_;
EXIT WHEN DELDATA_%NOTFOUND;
DELETE FROM SHOP_MATERIAL_ASSIGN_TAB WHERE CURRENT OF DELDATA_;
END LOOP;
COMMIT;
END;
【问题讨论】: