亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

用存儲過程實現刪除數據表的部分記錄

2024-07-21 02:42:04
字體:
來源:轉載
供稿:網友

在實際的工作和學習中,許多人經常需要分別刪除數據表的某些記錄,分批提交以此來減少對于Undo的使用,下面我們提供一個簡單的存儲過程來實現此邏輯。

SQL> create table test as select * from dba_objects;Table created.SQL> create or replace PRocedure deleteTab  2  /**  3   ** Usage: run the script to create the proc deleteTab  4   **        in SQL*PLUS, type "exec deleteTab('Foo','ID>=1000000','3000');"  5   **        to delete the records in the table "Foo", commit per 3000 records.  6   **       Condition with default value '1=1' and default Commit batch is 10000.  7   **/  8  (  9    p_TableName    in    varchar2,    -- The TableName which you want to delete from 10    p_Condition    in    varchar2 default '1=1',    -- Delete condition, such as "id>=100000" 11    p_Count        in    varchar2 default '10000'    -- Commit after delete How many records 12  ) 13  as 14   pragma autonomous_transaction; 15   n_delete number:=0; 16  begin 17   while 1=1 loop 18     EXECUTE IMMEDIATE 19       'delete from '||p_TableName||' where '||p_Condition||' and rownum <= :rn' 20     USING p_Count; 21     if SQL%NOTFOUND then 22     exit; 23     else 24          n_delete:=n_delete + SQL%ROWCOUNT; 25     end if; 26     commit; 27   end loop; 28   commit; 29   DBMS_OUTPUT.PUT_LINE('Finished!');  30   DBMS_OUTPUT.PUT_LINE('Totally '||to_char(n_delete)||' records deleted!'); 31  end; 32  /Procedure created.SQL> insert into test select * from dba_objects;6374 rows created.SQL> /6374 rows created.SQL> /6374 rows created.SQL> commit;Commit complete.SQL> exec deleteTab('TEST','object_id >0','3000')Finished!Totally 19107 records deleted!PL/SQL procedure successfully completed.

注釋:在此實例中修正了一下,增加了2個缺省值,以下是具體過程:

create or replace procedure deleteTab(                                                                                                  p_TableName    in    varchar2,    -- The TableName which you want to delete from                 p_Condition    in    varchar2 default '1=1',    -- Delete condition, such as "id>=100000"                      p_Count        in    varchar2 default '10000'    -- Commit after delete How many records                      )                                                                                                as                                                                                                pragma autonomous_transaction;                                                                   n_delete number:=0;                                                                             begin                                                                                             while 1=1 loop                                                                                     EXECUTE IMMEDIATE                                                                                  'delete from '||p_TableName||' where '||p_Condition||' and rownum <= :rn'                      USING p_Count;                                                                                   if SQL%NOTFOUND then                                                                             exit;                                                                                            else                                                                                                  n_delete:=n_delete + SQL%ROWCOUNT;                                                          end if;                                                                                          commit;                                                                                        end loop;                                                                                        commit;                                                                                          DBMS_OUTPUT.PUT_LINE('Finished!');                                                               DBMS_OUTPUT.PUT_LINE('Totally '||to_char(n_delete)||' records deleted!');

注釋:讀者可以根據自己的實際情況來進行適當的調整。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕久久亚洲| 国内免费精品永久在线视频| 一个人www欧美| 影音先锋日韩有码| 欧美精品日韩三级| 国产成人在线一区二区| 国产欧美在线看| 成人免费观看网址| 亚洲一区中文字幕| 欧美专区在线观看| 国语自产精品视频在线看| 日韩国产欧美精品一区二区三区| 亚洲国产精久久久久久| 色中色综合影院手机版在线观看| 久久777国产线看观看精品| 在线观看中文字幕亚洲| 日本欧美国产在线| 亚洲第一综合天堂另类专| 欧美午夜性色大片在线观看| 亚洲精品美女网站| 欧美成人午夜激情在线| 亚洲男人的天堂在线播放| 亚洲激情在线观看视频免费| 91精品国产高清久久久久久| 视频在线观看一区二区| 91理论片午午论夜理片久久| 久久久久国色av免费观看性色| 久久在线观看视频| 久久久久久久国产| 在线成人激情视频| 欧美黑人性猛交| 清纯唯美日韩制服另类| 大量国产精品视频| 欧美极品少妇xxxxx| 亚洲精品videossex少妇| 国产精品大陆在线观看| 日本在线精品视频| 日韩在线免费观看视频| 国产精品偷伦视频免费观看国产| 国产69久久精品成人看| 蜜臀久久99精品久久久久久宅男| 91国产精品视频在线| 国产精品丝袜久久久久久高清| 欧美性猛交xxxxx水多| 成人网在线视频| 国产一区二区激情| 精品女厕一区二区三区| 91精品在线影院| 日本久久91av| 欧美亚洲视频一区二区| 欧美电影在线播放| 这里只有精品视频在线| 91久久夜色精品国产网站| 欧美又大粗又爽又黄大片视频| 久久人人爽人人爽人人片av高请| 国产精品久久久久久久久借妻| 91在线播放国产| 欧美激情精品久久久| 日韩欧美精品免费在线| 亚洲精品在线视频| 欧美日韩国产在线播放| 国产精品高潮呻吟视频| 亚洲精品国产福利| 国产精品亚洲网站| 国自产精品手机在线观看视频| 日韩成人久久久| 欧美在线视频观看免费网站| 97视频在线观看视频免费视频| 亚洲综合成人婷婷小说| 在线观看国产精品淫| 亚洲缚视频在线观看| 中文字幕免费精品一区高清| 亚洲最新中文字幕| 91精品视频免费观看| 国产精品日韩欧美综合| 日韩av在线免费看| 久久久av免费| 搡老女人一区二区三区视频tv| 日韩久久精品成人| 欧美激情网站在线观看| 91在线高清视频| 日韩成人小视频| 91久久精品一区| 日韩亚洲精品视频| 日韩高清免费在线| 亚洲偷欧美偷国内偷| 日韩av片电影专区| 欧美成人亚洲成人日韩成人| 91牛牛免费视频| 色av中文字幕一区| 欧美老女人性视频| 91在线免费视频| 狠狠躁夜夜躁人人躁婷婷91| 一区二区成人av| 久久精品国产成人精品| 亚洲精品久久久久中文字幕欢迎你| 自拍偷拍亚洲区| 欧美一区在线直播| 亚洲欧洲第一视频| 狠狠色狠狠色综合日日五| 九九精品视频在线| 国产精品无码专区在线观看| 日韩精品视频在线观看网址| 日韩高清av一区二区三区| 亚洲mm色国产网站| 成人精品一区二区三区| 91美女片黄在线观| 欧美日韩中文在线| 午夜伦理精品一区| 亚洲欧美国产精品专区久久| 日韩av一区在线观看| 日韩va亚洲va欧洲va国产| 欧美一区二区三区图| 国产欧美日韩综合精品| 亚洲高清一二三区| 黑人极品videos精品欧美裸| 日韩视频在线一区| 亚洲成人av片| 久久亚洲精品一区| 久久精品2019中文字幕| 色噜噜久久综合伊人一本| 国产精品免费视频xxxx| 久久久久久久久网站| 国产乱肥老妇国产一区二| 亚洲精品电影久久久| 国产精品久久9| 亚洲综合日韩中文字幕v在线| 国产日韩精品入口| 国产精品福利小视频| 国产精品久久久久av免费| 97久久久免费福利网址| 欧美高清视频在线播放| 国产精品成人aaaaa网站| 成人免费大片黄在线播放| 精品调教chinesegay| 日韩av资源在线播放| 午夜精品福利在线观看| 成人观看高清在线观看免费| 成人在线视频网站| 亚洲国产精品电影| 最近免费中文字幕视频2019| 欧美成人免费大片| 欧美天天综合色影久久精品| 日韩成人在线免费观看| 国产91在线播放精品91| 亚洲激情视频在线观看| 色婷婷亚洲mv天堂mv在影片| 欧美理论在线观看| 国内自拍欧美激情| 精品亚洲国产视频| 亚洲人成在线观看| 精品国产31久久久久久| 久久精品中文字幕免费mv| 日韩欧美亚洲国产一区| 日韩av手机在线看| 亚洲免费伊人电影在线观看av| 欧美日韩在线视频一区| 亚洲精品在线不卡| 久久久久久久久久久网站| 九九久久久久久久久激情| 亚洲情综合五月天| 国产精品日韩欧美综合| 日韩一二三在线视频播| 91在线无精精品一区二区|