DBMS Worksheet 3arjun
DBMS Worksheet 3arjun
WORKSHEET – 3
Sol:
DESC department_1071;
a) Add column designation to the department table.
Sol:
CREATE TABLE EMP_1071 (EMPNO NUMBER(4) NOT NULL, ENAME VARCHAR2(10), JOB VARCHAR2(9), MGR NUMBER(4),
HIREDATE DATE, SAL NUMBER(7, 2), COMM NUMBER(7, 2), DEPTNO NUMBER(2),
AGE NUMBER(3), ESAL NUMBER );
Sol:
INSERT INTO EMP_1071 VALUES (7369, 'SMITH','CLERK',7902, TO_DATE('17-DEC-1980',
'DD-MON-YYYY'), 800, NULL, 20, 18, 5);
INSERT INTO EMP_1071 VALUES (7499, 'ALLEN','SALESMAN',7698, TO_DATE('20-FEB-1981',
'DD-MON-YYYY'), 1600, 300, 30, 19, 6);
INSERT INTO EMP_1071 VALUES (7521, 'WARD', 'SALESMAN',7698, TO_DATE('22-FEB-1981',
'DD-MON-YYYY'), 1250, 500, 30, 20, 7);
INSERT INTO EMP_1071 VALUES (7566, 'JONES', 'MANAGER', 7839, TO_DATE('2-APR-1981',
'DD-MON-YYYY'), 2975, NULL, 20, 21, 8);
INSERT INTO EMP_1071 VALUES (7654, 'MARTIN', 'SALESMAN', 7698, TO_DATE('28-SEP-1981',
'DD-MON-YYYY'), 1250, 1400, 30, 22, 9);
INSERT INTO EMP_1071 VALUES (7698, 'BLAKE', 'MANAGER', 7839, TO_DATE('1-MAY-1981',
'DD-MON-YYYY'), 2850, NULL, 30, 23, 4);
INSERT INTO EMP_1071 VALUES (7782, 'CLARK', 'MANAGER', 7839, TO_DATE('9-JUN-1981',
'DD-MON-YYYY'), 2450, NULL, 10, 17, 8);
INSERT INTO EMP_1071 VALUES (7788, 'SCOTT', 'ANALYST', 7566, TO_DATE('09-DEC-1982',
'DD-MON-YYYY'), 3000, NULL, 20, 25, 4);
INSERT INTO EMP_1071 VALUES (7839, 'KING', 'PRESIDENT', NULL, TO_DATE('17-NOV-1981',
'DD-MON-YYYY'), 5000, NULL, 10, 19, 3);
INSERT INTO EMP_1071 VALUES (7844, 'TURNER', 'SALESMAN', 7698, TO_DATE('8-SEP-1981',
'DD-MON-YYYY'), 1500, 0, 30, 22, 2);
INSERT INTO EMP_1071 VALUES (7876, 'ADAMS', 'CLERK', 7788, TO_DATE('12-JAN-1983',
'DD-MON-YYYY'), 1100, NULL, 20, 30, 7);
INSERT INTO EMP_1071 VALUES (7900, 'JAMES', 'CLERK', 7698, TO_DATE('3-DEC-1981',
'DD-MON-YYYY'), 950, NULL, 30, 14, 5);
INSERT INTO EMP_1071 VALUES (7902, 'FORD', 'ANALYST', 7566, TO_DATE('3-DEC-1981',
'DD-MON-YYYY'), 3000, NULL, 20, 30, 6);
INSERT INTO EMP_1071 VALUES (7934, 'MILLER', 'CLERK', 7782, TO_DATE('23-JAN-1982',
'DD-MON-YYYY'), 1300, NULL, 10, 28, 4);
Sol: SELECT ename FROM Emp_1071 WHERE sal BETWEEN 1500 AND 3500;
d) List all employee names and their and their manager whose manager is 7902 or 7566 0r 7789.
Sol:
20BET1071
DECLARE
n NUMBER := 0;
BEGIN
LOOP
DBMS_OUTPUT.PUT_LINE('The value of n inside the loop is: ' || TO_CHAR(n));
n := n + 1;
EXIT WHEN n > 5;
END LOOP;
DBMS_OUTPUT.PUT_LINE('The value of n after exit from the loop is: ' || TO_CHAR(n));
END;
4. Write a program in PL/SQL to print factorial of a number.
Sol:
20BET1071
DECLARE
num NUMBER := 8;
fact NUMBER := 1;
temp NUMBER;
BEGIN
temp :=num;
WHILE( temp>0 )
LOOP
fact := fact*temp;
temp := temp-1;
END LOOP;
DBMS_OUTPUT.PUT_LINE('factorial of '|| num || ' is ' || fact);
END;