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
Post a Comment