校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Oracle批量查詢、刪除、更新使用BULK COLLECT提高效率

Oracle批量查詢、刪除、更新使用BULK COLLECT提高效率

熱門標簽:南通電銷外呼系統哪家強 理財產品電銷機器人 外呼系統好點子 百度地圖標注注解 電話機器人那種好 區域地圖標注怎么設置 上海網絡外呼系統 地圖標注的坐標點 百度地圖標注飯店位置怎么

BULK COLLECT(成批聚合類型)和數組集合type類型is table of 表%rowtype index by binary_integer用法筆記。

例1: 批量查詢項目資金賬戶號為 "320001054663"的房屋賬戶信息并把它們打印出來 .

DECLARE 
  TYPE acct_table_type IS TABLE OF my_acct%ROWTYPE INDEX BY BINARY_INTEGER; 
  v_acct_table acct_table_type; 
BEGIN 
  SELECT * BULK COLLECT INTO v_acct_table FROM my_acct WHERE parent_fund='320001054663'; 
  FOR i IN 1..v_acct_table.COUNT LOOP 
      ---循環打印 
      dbms_output.put_line('ACCT:'||v_acct_table(i).fund|| ','||v_acct_table(i).bal||','||v_acct_table(i).real_nmbr); 
  END LOOP; 
END;

說明部分:

1. DECLARE  說明以下你要聲明的部分

2. Type 聲明是類型acct_table_typ e 類型的名字

3. IS TABLE OF  指定是一個集合的表的數組類型, 簡單的來說就是一個可以存儲一列多行的數據類型 , my_acct指出在哪個表上( 存在的表 ) %ROWTYPE 指在表上的行的數據類型.

4. INDEX BY BINARY_INTEGER  指索引組織類型

5. v_acct_table 定義一個變量來存儲集合數據類型

6. BULK COLLECT INTO  指是一個成批聚合類型, 簡單的來說 , 它可以存儲一個多行多列存儲類型 ,into 后面指定從哪里來 ,

7. v_acct_table.COUNT 用來 v_acct_table 里面的數量

8. (i)表示下標號

例2: 批量更新項目資金賬戶號為 "320001054663"的房屋賬戶的余額。

DECLARE 
  TYPE fund_table_type IS TABLE OF acct.fund%TYPE; 
  TYPE bal_table_type IS TABLE OF acct.bal%TYPE; 
  v_fund_table fund_table_type; 
  v_bal_table bal_table_type; 
BEGIN 
  UPDATE acct SET bal=bal*1000 WHERE parent_fund='320001054663' RETURNING fund,bal BULK COLLECT INTO v_fund_table,v_bal_table; 
  FOR i IN 1..v_fund_table.COUNT LOOP 
      dbms_output.put_line('ACCT:'||v_fund_table(i)||','||v_bal_table(i)); 
  END LOOP; 
END; 

說明部分:

1. %TYPE和 acct.fund數據類型一樣

  v_fund_table fund_table_type;

2. v_bal_table bal_table_type; 定義變量來存儲它們 .

3. RETURNING 用來指定要返回的部分 ,BULK COLLECT INTO  成批聚合類型

4. 用for  把它們打印出來

總結 :

  • 實驗時把set serveroutput on  打開
  • 以上的例子的目的主要是為了提高性能. 這里的性能主要指的是速度  .
  • 速度指的是批量插入, 更新 , 刪除  , 為什么會提高速度呢 ?  提取到的數據都在內存中進行處理, 因為在內存處理比較快 , 這是常識 .

以上所述是小編給大家介紹的Oracle批量查詢、刪除、更新使用BULK COLLECT提高效率,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:
  • Oracle批量插入數據的三種方式【推薦】
  • C# Oracle批量插入數據進度條的實現代碼
  • Oracle + Mybatis實現批量插入、更新和刪除示例代碼
  • MyBatis批量插入數據到Oracle數據庫中的兩種方式(實例代碼)
  • Oracle兩張表關聯批量更新其中一張表的數據
  • mybatis執行批量更新batch update 的方法(oracle,mysql兩種)
  • Oracle批量導入文本文件快速的方法(sqlldr實現)
  • Oracle+Mybatis的foreach insert批量插入報錯的快速解決辦法
  • Java實現mybatis批量插入數據到Oracle
  • Oracle批量執行sql語句之禁用所有表的外鍵
  • oracle+mybatis 使用動態Sql當插入字段不確定的情況下實現批量insert
  • Oracle 高速批量數據加載工具sql*loader使用說明
  • Oracle數據庫更新大批量數據案例

標簽:自貢 百色 遼源 寧波 海東 紹興 中衛 昭通

巨人網絡通訊聲明:本文標題《Oracle批量查詢、刪除、更新使用BULK COLLECT提高效率》,本文關鍵詞  Oracle,批量,查詢,刪除,更新,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Oracle批量查詢、刪除、更新使用BULK COLLECT提高效率》相關的同類信息!
  • 本頁收集關于Oracle批量查詢、刪除、更新使用BULK COLLECT提高效率的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 依安县| 正定县| 永和县| 朝阳市| 楚雄市| 达拉特旗| 玉林市| 常德市| 嘉祥县| 饶阳县| 江华| 稷山县| 濮阳县| 上林县| 宜州市| 安多县| 广宁县| 新安县| 彭泽县| 泾源县| 贡觉县| 和平区| 隆化县| 邵阳县| 开化县| 商南县| 莱西市| 盱眙县| 宁夏| 姜堰市| 临高县| 东乡县| 镇原县| 盖州市| 乌拉特后旗| 虞城县| 新宁县| 崇左市| 栾川县| 巴青县| 永丰县|