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

WBOY
リリース: 2016-06-07 17:06:02
オリジナル
1197 人が閲覧しました

有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          DELETE FROM book_copy WHERE ROWNUM     
         COMMIT;
      END LOOP;
EXCEPTION
      WHEN OTHERS THEN
          DBMS_OUTPUT.put_line('EXCEPTION OCCURED');
END PROC_DEL_RECORDS;

linux

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!