0% found this document useful (0 votes)
4 views6 pages

Answer Assignment 3.1 To 3.8 DBMS

The document contains multiple PL/SQL code snippets that demonstrate the use of cursors to retrieve and display employee and department information from a database. Each section defines a cursor, fetches records, and outputs relevant details such as employee numbers, names, salaries, and department information. The examples illustrate various filtering conditions and formatting of output data.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views6 pages

Answer Assignment 3.1 To 3.8 DBMS

The document contains multiple PL/SQL code snippets that demonstrate the use of cursors to retrieve and display employee and department information from a database. Each section defines a cursor, fetches records, and outputs relevant details such as employee numbers, names, salaries, and department information. The examples illustrate various filtering conditions and formatting of output data.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Q-3.

1 )

DECLARE

CURSOR emp_cursor IS

SELECT empno, ename, sal, job, deptno FROM emp;

emp_rec emp_cursor%ROWTYPE;

BEGIN

OPEN emp_cursor;

LOOP

FETCH emp_cursor INTO emp_rec;

EXIT WHEN emp_cursor%NOTFOUND;

DBMS_OUTPUT.PUT_LINE('Empno: ' || emp_rec.empno || ', Name: ' || emp_rec.ename || ',


Salary: ' || emp_rec.sal || ', Job: ' || emp_rec.job || ', Deptno: ' || emp_rec.deptno);

END LOOP;

CLOSE emp_cursor;

END;

Q-3.2 )

DECLARE

CURSOR dept_cursor IS

SELECT empno, ename, job, sal, deptno FROM emp WHERE deptno = 10;

emp_empno emp.empno%TYPE;

emp_name emp.ename%TYPE;

emp_job emp.job%TYPE;

emp_sal emp.sal%TYPE;

emp_deptno emp.deptno%TYPE;

BEGIN

OPEN dept_cursor;

LOOP

FETCH dept_cursor INTO emp_empno, emp_name, emp_job, emp_sal, emp_deptno;

EXIT WHEN dept_cursor%NOTFOUND;

DBMS_OUTPUT.PUT_LINE('Empno: ' || emp_empno || ', Name: ' || emp_name || ', Job: ' ||
emp_job || ', Salary: ' || emp_sal || ', Deptno: ' || emp_deptno);

END LOOP;

CLOSE dept_cursor;

END;

/
Q-3.3 )

DECLARE

CURSOR name_cursor IS

SELECT empno, ename, sal FROM emp WHERE ename LIKE 'A%';

emp_rec name_cursor%ROWTYPE;

BEGIN

OPEN name_cursor;

LOOP

FETCH name_cursor INTO emp_rec;

EXIT WHEN name_cursor%NOTFOUND;

DBMS_OUTPUT.PUT_LINE('Empno: ' || emp_rec.empno || ', Name: ' || emp_rec.ename || ',


Salary: ' || emp_rec.sal);

END LOOP;

CLOSE name_cursor;

END;

Q-3.4 )

DECLARE

CURSOR hire_cursor IS

SELECT empno, ename, hiredate, sal FROM emp WHERE EXTRACT(YEAR FROM hiredate) = 1981;

emp_rec hire_cursor%ROWTYPE;

BEGIN

OPEN hire_cursor;

LOOP

FETCH hire_cursor INTO emp_rec;

EXIT WHEN hire_cursor%NOTFOUND;

DBMS_OUTPUT.PUT_LINE('Empno: ' || emp_rec.empno || ', Name: ' || emp_rec.ename || ',


Hiredate: ' || emp_rec.hiredate || ', Salary: ' || emp_rec.sal);

END LOOP;

CLOSE hire_cursor;

END;

/
Q-3.5 )

DECLARE

CURSOR dept_cursor IS

SELECT deptno, dname, loc FROM dept;

dept_rec dept_cursor%ROWTYPE;

BEGIN

DBMS_OUTPUT.PUT_LINE('Department Informa on');

DBMS_OUTPUT.PUT_LINE('===========================================');

DBMS_OUTPUT.PUT_LINE('Deptno Deptname Loca on');

DBMS_OUTPUT.PUT_LINE('===========================================');

OPEN dept_cursor;

LOOP

FETCH dept_cursor INTO dept_rec;

EXIT WHEN dept_cursor%NOTFOUND;

DBMS_OUTPUT.PUT_LINE(dept_rec.deptno || ' ' || dept_rec.dname || ' ' ||


NVL(dept_rec.loc, ''));

END LOOP;

CLOSE dept_cursor;

DBMS_OUTPUT.PUT_LINE('===========================================');

END;

/
Q-3.6 )

DECLARE

CURSOR emp_dept_cursor IS

SELECT e.empno, e.ename, e.deptno, d.dname

FROM emp e

JOIN dept d ON e.deptno = d.deptno;

emp_dept_rec emp%ROWTYPE;

v_dname dept.dname%TYPE;

BEGIN

DBMS_OUTPUT.PUT_LINE('Employee Informa on');

DBMS_OUTPUT.PUT_LINE('===========================================');

DBMS_OUTPUT.PUT_LINE('Empno Ename Deptno Deptname');

DBMS_OUTPUT.PUT_LINE('===========================================');

OPEN emp_dept_cursor;

LOOP

FETCH emp_dept_cursor INTO emp_dept_rec, v_dname;

EXIT WHEN emp_dept_cursor%NOTFOUND;

DBMS_OUTPUT.PUT_LINE(emp_dept_rec.empno || ' ' || emp_dept_rec.ename || ' ' ||


emp_dept_rec.deptno || ' ' || v_dname);

END LOOP;

CLOSE emp_dept_cursor;

DBMS_OUTPUT.PUT_LINE('===========================================');

END;

/
Q-3.7 )

DECLARE

CURSOR dept_cursor IS

SELECT deptno, dname, loc FROM dept;

dept_rec dept_cursor%ROWTYPE;

total_records NUMBER := 0;

BEGIN

DBMS_OUTPUT.PUT_LINE('Department Informa on');

DBMS_OUTPUT.PUT_LINE('========================================');

DBMS_OUTPUT.PUT_LINE('Deptno Deptname Loca on');

DBMS_OUTPUT.PUT_LINE('========================================');

OPEN dept_cursor;

LOOP

FETCH dept_cursor INTO dept_rec;

EXIT WHEN dept_cursor%NOTFOUND;

DBMS_OUTPUT.PUT_LINE(dept_rec.deptno || ' ' || dept_rec.dname || ' ' ||


NVL(dept_rec.loc, ''));

total_records := total_records + 1;

END LOOP;

CLOSE dept_cursor;

DBMS_OUTPUT.PUT_LINE('----------------------------------------');

DBMS_OUTPUT.PUT_LINE('Total Records: ' || total_records);

END;

/
Q-3.8 )

DECLARE

CURSOR emp_cursor IS

SELECT empno, ename, sal FROM emp;

emp_rec emp_cursor%ROWTYPE;

BEGIN

DBMS_OUTPUT.PUT_LINE('Employee Informa on');

DBMS_OUTPUT.PUT_LINE('--------------------------------------------------------------');

DBMS_OUTPUT.PUT_LINE('Empno Ename Salary Annual Salary');

DBMS_OUTPUT.PUT_LINE('--------------------------------------------------------------');

OPEN emp_cursor;

LOOP

FETCH emp_cursor INTO emp_rec;

EXIT WHEN emp_cursor%NOTFOUND;

DBMS_OUTPUT.PUT_LINE(emp_rec.empno || ' ' || emp_rec.ename || ' ' || emp_rec.sal


|| ' ' || (emp_rec.sal * 12));

END LOOP;

CLOSE emp_cursor;

DBMS_OUTPUT.PUT_LINE('--------------------------------------------------------------');

END;

You might also like