create table and insert laks of records using loop statement

 




CREATE TABLE employees (

    emp_id      NUMBER PRIMARY KEY,

    first_name  VARCHAR2(50),

    last_name   VARCHAR2(50),

    email       VARCHAR2(100),

    hire_date   DATE,

    salary      NUMBER(10, 2)

);



INSERT INTO employees (emp_id, first_name, last_name, email, hire_date, salary)

VALUES (1, 'John', 'Doe', 'john.doe@example.com', TO_DATE('2023-01-15', 'YYYY-MM-DD'), 55000);


INSERT INTO employees (emp_id, first_name, last_name, email, hire_date, salary)

VALUES (2, 'Jane', 'Smith', 'jane.smith@example.com', TO_DATE('2023-02-20', 'YYYY-MM-DD'), 60000);




DECLARE

    v_max_id NUMBER;

BEGIN

    -- Find the current max emp_id to avoid duplicates

    SELECT NVL(MAX(emp_id), 0) INTO v_max_id FROM employees;


    FOR i IN 1..100000 LOOP

        INSERT INTO employees (emp_id, first_name, last_name, email, hire_date, salary)

        VALUES (

            v_max_id + i,

            'FirstName_' || (v_max_id + i),

            'LastName_' || (v_max_id + i),

            'user_' || (v_max_id + i) || '@example.com',

            SYSDATE - MOD(i, 365),

            ROUND(DBMS_RANDOM.VALUE(30000, 100000), 2)

        );


        IF MOD(i, 10000) = 0 THEN

            COMMIT;

        END IF;

    END LOOP;

    COMMIT;

END;

/



Comments

Popular posts from this blog

MY NOTEPAD

Oracle OEM Holistic Patch

Upgrade Oracle 19c DB to 21c using Auto Upgrade utility inprogress