国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

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

2024-08-29 14:00:05
字體:
來源:轉載
供稿:網友

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提高效率,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到oracle教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昆明市| 临高县| 冕宁县| 襄城县| 鲜城| 阳山县| 九江县| 波密县| 宿迁市| 石首市| 神农架林区| 嘉荫县| 丹阳市| 闽清县| 铁岭县| 苍山县| 福鼎市| 五河县| 肃宁县| 泾源县| 紫阳县| 新宁县| 安新县| 会东县| 长春市| 咸宁市| 潜山县| 德保县| 玉田县| 东兴市| 西安市| 健康| 高淳县| 桃江县| 峨眉山市| 江孜县| 桐梓县| 梁山县| 舒城县| 靖江市| 清苑县|