-----------------------------------------------------------------------------------------
Expand|Select|Wrap|Line Numbers
- DECLARE
- CURSOR DD IS SELECT * FROM EMP WHERE EMPNO=7788;
- BEGIN
- FOR D IN DD
- LOOP
- INSERT INTO EMP10(ID ,NAME)VALUES(D.EMPNO,D.ENAME);
- END LOOP;
- COMMIT;
- END;
Using simple LOOP in a CURSOR
----------------------------------------------------
Expand|Select|Wrap|Line Numbers
- DECLARE
- D EMP%ROWTYPE;
- CURSOR CC IS SELECT * FROM EMP WHERE EMPNO=&NO;
- BEGIN
- OPEN CC;
- LOOP
- FETCH CC INTO D;
- EXIT WHEN CC%NOTFOUND;
- INSERT INTO EMP1(ID ,NAME) VALUES (D.EMPNO,D.ENAME);
- END LOOP;
- CLOSE CC;
- COMMIT;
- END;
U can also commit here.
Using WHILE-LOOP in a CURSOR
-------------------------------------------------------
Expand|Select|Wrap|Line Numbers
- DECLARE
- D EMP%ROWTYPE;
- CURSOR CC IS SELECT * FROM EMP WHERE EMPNO=&NO;
- BEGIN
- OPEN CC;
- WHILE CC%FOUND LOOP
- FETCH CC INTO D;
- INSERT INTO EMP1 VALUES(D.EMPNO,D.ENAME);
- END LOOP;
- CLOSE CC;
- END;
Also check PL/SQL-CURSOR - 3