इस पोस्ट में, मैं Oracle बल्क कलेक्ट और FORALL कमांड का उपयोग करके इन्सर्ट करने के लिए एक उदाहरण दे रहा हूँ। एक PL SQL फ़ंक्शन बनाया जो एक कर्सर का उपयोग करके EMP तालिका से डेटा लेगा और फिर उस कर्सर पंक्ति प्रकार का प्रकार सरणी चर बनाता है और फिर यह FORALL का उपयोग करके BONUS तालिका में बल्क एकत्र और सम्मिलित करता है।
नीचे उदाहरण है:
e_pre>फ़ंक्शन बनाएं या बदलें f_currowtypeRETURN BOOLEANISCURSOR c_empISSELECT empno,ename,job,salFROM emp;TYPE t_emp is TABLE OF c_emp%ROWTYPE;e_rec t_emp;BEGINOPEN INTO C_emp;F. . e_rec.LASTबोनस (empno, राशि) मानों में डालें (e_rec(i).empno, e_rec(i).sal * 10 / 100);DBMS_OUTPUT.put_line ('पंक्तियाँ सम्मिलित:' || SQL%ROWCOUNT);COMMIT; रिटर्न ट्रू; अपवाद जब अन्य एनरोलबैक; रिटर्न गलत;END;आप इसे नीचे के रूप में निष्पादित कर सकते हैं:
SERVEROUTPUT ON;BEGINIF f_currowtypeTHENDBMS_OUTPUT.put_line ('Success');ELSEDBMS_OUTPUT.put_line ('Failed');END IF;END;