DECLARE
v_counter NUMBER := 1;
BEGIN
FOR i IN (SELECT DISTINCT empno
FROM emp)
LOOP
FOR i IN (SELECT DISTINCT deptno
FROM emp >
WHERE empno = i.empno)
LOOP
FOR k IN (SELECT amt
FROM emp
WHERE empno = i.empno
AND deptno = j.deptno
ORDER BY amt DESC)
LOOP
IF v_counter > 25 THEN
v_counter := 1;
GOTO k;
ELSE
INSERT INTO emp VALUES (i.empno, j.deptno, k.deptno);
COMMIT;
v_counter := v_counter + 1;
END IF;
END LOOP;
END LOOP;
FOR l IN (SELECT DISTINCT deptno
FROM emp
WHERE empno = i.empno)
LOOP
FOR m IN (SELECT amt
FROM emp
WHERE empno = i.empno
AND deptno = l.deptno
ORDER BY price DESC)
LOOP
IF v_counter > 25 THEN
v_counter := 1;
GOTO m_loop;
ELSE
INSERT INTO emp VALUES (i.empno, l.deptno, m.deptno);
COMMIT;
v_counter := v_counter + 1;
END IF;
END LOOP;
END LOOP;
END LOOP;
END;
v_counter NUMBER := 1;
BEGIN
FOR i IN (SELECT DISTINCT empno
FROM emp)
LOOP
FOR i IN (SELECT DISTINCT deptno
FROM emp >
WHERE empno = i.empno)
LOOP
FOR k IN (SELECT amt
FROM emp
WHERE empno = i.empno
AND deptno = j.deptno
ORDER BY amt DESC)
LOOP
IF v_counter > 25 THEN
v_counter := 1;
GOTO k;
ELSE
INSERT INTO emp VALUES (i.empno, j.deptno, k.deptno);
COMMIT;
v_counter := v_counter + 1;
END IF;
END LOOP;
END LOOP;
FOR l IN (SELECT DISTINCT deptno
FROM emp
WHERE empno = i.empno)
LOOP
FOR m IN (SELECT amt
FROM emp
WHERE empno = i.empno
AND deptno = l.deptno
ORDER BY price DESC)
LOOP
IF v_counter > 25 THEN
v_counter := 1;
GOTO m_loop;
ELSE
INSERT INTO emp VALUES (i.empno, l.deptno, m.deptno);
COMMIT;
v_counter := v_counter + 1;
END IF;
END LOOP;
END LOOP;
END LOOP;
END;