您好,欢迎来到莱芜美食。
搜索
您的当前位置:首页Oracle通过存储过程删除两个表中符合条件的记录

Oracle通过存储过程删除两个表中符合条件的记录

来源:莱芜美食


有book及book_copy两个表,要根据book_copy表中的某几个字段删除book表中所有与其相等的记录。

有book及book_copy两个表,,要根据book_copy表中的某几个字段删除book表中所有与其相等的记录。

存储过程如下:

CREATE OR REPLACE PROCEDURE PROC_DEL_RECORDS IS
v_cur_records INTEGER := 0;
BEGIN
LOOP
--若表中已无数据,则退出循环
SELECT COUNT(*) INTO v_cur_records FROM book_copy WHERE ROWNUM = 1;
IF v_cur_records = 0 THEN
EXIT;
END IF;

DELETE FROM book WHERE (ID, NAME) IN (SELECT ID, NAME FROM book_copy WHERE ROWNUM < 1000);
DELETE FROM book_copy WHERE ROWNUM < 1000;

COMMIT;
END LOOP;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.put_line('EXCEPTION OCCURED');
END PROC_DEL_RECORDS;

Copyright © 2019- lwyh.cn 版权所有

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务