You are on page 1of 3

EXPERIMENT-8

Write a pl/sql code for explicit cursor and implicit cursor and explicit
cursor implemetation and implicit cursor implementation
Select * from EMP;

EMPNO EMPNAME JOB MGR HIREDDATE SAL COMM DEPTNO

7369 SMITH CLERK 7902 17-DEC-80 800 20

7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300

7521 WARD SALESMAN 7698 22-FEB-81 1250 500

EMPNO EMPNAME JOB MGR HIREDDATE SAL COMM DEPTNO

7566 JONES MANAGER 7839 02-APR-81 2975 20

7654 MARTIN SALESMAN 7698 28-SEPT-81 1250 1400 30

7698 BLAKE MANAGER 7893 01-MAY-81 1600 20

EMPNO EMPNAME JOB MGR HIREDDATE SAL COMM DEPTNO

7343 CLARK MANAGER 7839 17-DEC-80 1500 20

7488 SCOTT ANALYST 7566 20-FEB-81 800 300

7591 KING PRESIDENT 7695 22-FEB-81 1350 500

EMPNO EMPNAME JOB MGR HIREDDATE SAL COMM DEPTNO

7350 TURNER CLERK 7913 12-DEC-80 800 10

7495 ADAMS SALESMAN 7690 22-FEB-81 1600 400

7543 JAMES SALESMAN 7691 29-FEB-81 1250 900

EMPNO EMPNAME JOB MGR HIREDDATE SAL COMM DEPTNO

7370 FORD CLERK 7902 17-DEC-80 800 20


7442 MILLER SALESMAN 7698 20-FEB-81 1600 300

7589 WARD SALESMAN 7698 22-FEB-81 1250 500

Declare

ena EMP.ENAME%TYPE;

esa EMP.SAL%TYPE;

CURSOR c1 IS SELECT ename,sal FROM EMP;

BEGIN

OPEN c1;

FETCH c1 INTO ena,esa;

Dbma_output.put_line(ena||salry is $’||esa);

FETCH c1 INTO ena,esa;

Dbma_output.put_line(ena||salry is $’||esa);

CLOSE c1;

END;

OUTPUT:

SMITH salry is $800

ALLEN salry is $1600

WARD salry is $1250

pl/sql procedure successfully completed

Implicit Cursors
Declare

ena EMP.ENAME%TYPE;

esa EMP.SAL%TYPE;

BEGIN
SELECT ENAME,SAL INTO ENA,ESA FROM EMP WHERE EMPNO=&EMPNO;

Dbms_ouput.put_line(‘NAME:’||ENA);

Dbms_ouput.put_line(‘NAME:’||ESA);

EXCEPTION

WHEN NO_DATA_FOUND THEN

Dbms_ouput.put_line(‘employee doesn’t exist’);

END;

OUTPUT:

Enter value for empno:7844

Old 6: WHERE EMPNO=&EMPNO;

New 6: WHERE EMPNO=7844;

PL/SQL procedure successfully executed

You might also like