BULK COLLECT(成批聚合類型)和數(shù)組集合type類型is table of 表%rowtype index by binary_integer用法筆記。
例1: 批量查詢項(xiàng)目資金賬戶號(hào)為 "320001054663"的房屋賬戶信息并把它們打印出來(lái) .
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 ---循環(huán)打印 dbms_output.put_line('ACCT:'||v_acct_table(i).fund|| ','||v_acct_table(i).bal||','||v_acct_table(i).real_nmbr); END LOOP; END;
說(shuō)明部分:
1. DECLARE 說(shuō)明以下你要聲明的部分
2. Type 聲明是類型acct_table_typ e 類型的名字
3. IS TABLE OF 指定是一個(gè)集合的表的數(shù)組類型, 簡(jiǎn)單的來(lái)說(shuō)就是一個(gè)可以存儲(chǔ)一列多行的數(shù)據(jù)類型 , my_acct指出在哪個(gè)表上( 存在的表 ) %ROWTYPE 指在表上的行的數(shù)據(jù)類型.
4. INDEX BY BINARY_INTEGER 指索引組織類型
5. v_acct_table 定義一個(gè)變量來(lái)存儲(chǔ)集合數(shù)據(jù)類型
6. BULK COLLECT INTO 指是一個(gè)成批聚合類型, 簡(jiǎn)單的來(lái)說(shuō) , 它可以存儲(chǔ)一個(gè)多行多列存儲(chǔ)類型 ,into 后面指定從哪里來(lái) ,
7. v_acct_table.COUNT 用來(lái) v_acct_table 里面的數(shù)量
8. (i)表示下標(biāo)號(hào)
例2: 批量更新項(xiàng)目資金賬戶號(hào)為 "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;
說(shuō)明部分:
1. %TYPE和 acct.fund數(shù)據(jù)類型一樣
v_fund_table fund_table_type;
2. v_bal_table bal_table_type; 定義變量來(lái)存儲(chǔ)它們 .
3. RETURNING 用來(lái)指定要返回的部分 ,BULK COLLECT INTO 成批聚合類型
4. 用for 把它們打印出來(lái)
總結(jié) :
以上所述是小編給大家介紹的Oracle批量查詢、刪除、更新使用BULK COLLECT提高效率,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
標(biāo)簽:自貢 百色 遼源 寧波 海東 紹興 中衛(wèi) 昭通
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Oracle批量查詢、刪除、更新使用BULK COLLECT提高效率》,本文關(guān)鍵詞 Oracle,批量,查詢,刪除,更新,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。