29 lines
761 B
SQL
29 lines
761 B
SQL
|
|
var my_action VARCHAR2(30);
|
||
|
|
exec :my_action:='bulk insert';
|
||
|
|
|
||
|
|
@login
|
||
|
|
select sysdate from dual;
|
||
|
|
|
||
|
|
exec DBMS_APPLICATION_INFO.SET_ACTION (action_name => :my_action);
|
||
|
|
DECLARE
|
||
|
|
-- Configuration
|
||
|
|
v_start_val INTEGER := 20000000;
|
||
|
|
v_count INTEGER := 10000000;
|
||
|
|
|
||
|
|
-- Define the collection type
|
||
|
|
TYPE t_int_tab IS TABLE OF INTEGER INDEX BY PLS_INTEGER;
|
||
|
|
v_numbers t_int_tab;
|
||
|
|
BEGIN
|
||
|
|
-- 1. Manual Loop to populate the variable
|
||
|
|
-- This replaces the "BULK COLLECT" step with procedural logic
|
||
|
|
FOR i IN 1 .. v_count LOOP
|
||
|
|
v_numbers(i) := v_start_val + (i - 1);
|
||
|
|
END LOOP;
|
||
|
|
FORALL i IN 1..v_numbers.COUNT INSERT INTO SAMPLE.RANDOM_DATA_LOAD VALUES(v_numbers(i),'bulk insert',sysdate);
|
||
|
|
commit;
|
||
|
|
END;
|
||
|
|
/
|
||
|
|
|
||
|
|
select sysdate from dual;
|
||
|
|
|