Advertisement
Guest User

Untitled

a guest
Aug 14th, 2017
461
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.80 KB | None | 0 0
  1. CREATE TABLE DEPARTMENT
  2. (DEPARTMENT_ID NUMBER PRIMARY KEY,
  3. DEPARTMENT_NAME VARCHAR(30) NOT NULL
  4. );
  5.  
  6. CREATE TABLE EMPLOYEES
  7. (EMPLOYEE_ID NUMBER PRIMARY KEY,
  8. FIRST_NAME VARCHAR(20) NOT NULL,
  9. LAST_NAME VARCHAR(25) NOT NULL,
  10. EMAIL VARCHAR(25) NOT NULL,
  11. PHONE_NUMBER VARCHAR(20) NOT NULL,
  12. HIRE_DATE DATE NOT NULL,
  13. JOB_ID NUMBER NOT NULL,
  14. SALARY DECIMAL NOT NULL,
  15. DEPARTMENT_ID NUMBER NOT NULL,
  16. CONSTRAINT emp_job_fk FOREIGN KEY(JOB_ID) REFERENCES JOBS(JOB_ID),
  17. CONSTRAINT emp_department_fk FOREIGN KEY(DEPARTMENT_ID) REFERENCES DEPARTMENT(DEPARTMENT_ID)
  18. );
  19.  
  20. INSERT INTO DEPARTMENT (DEPARTMENT_ID,DEPARTMENT_NAME)
  21. VALUES(1,'IT');
  22. INSERT INTO DEPARTMENT (DEPARTMENT_ID,DEPARTMENT_NAME)
  23. VALUES(2,'Sales');
  24. INSERT INTO DEPARTMENT (DEPARTMENT_ID,DEPARTMENT_NAME)
  25. VALUES(3,'Accounting');
  26.  
  27. INSERT INTO EMPLOYEES (EMPLOYEE_ID,FIRST_NAME,LAST_NAME,EMAIL,PHONE_NUMBER,HIRE_DATE,JOB_ID,SALARY,DEPARTMENT_ID)
  28. VALUES (1,'Tony','Starc','starc@gmail.com','0123456789',TO_DATE('15/1/2008','DD/MM/YYYY'),1,45000.00,1);
  29. INSERT INTO EMPLOYEES (EMPLOYEE_ID,FIRST_NAME,LAST_NAME,EMAIL,PHONE_NUMBER,HIRE_DATE,JOB_ID,SALARY,DEPARTMENT_ID)
  30. VALUES (2,'Bruce','Wayne','bruce@gmail.com','0123456788',TO_DATE('15/1/2009','DD/MM/YYYY'),1,40000.00,1);
  31. INSERT INTO EMPLOYEES (EMPLOYEE_ID,FIRST_NAME,LAST_NAME,EMAIL,PHONE_NUMBER,HIRE_DATE,JOB_ID,SALARY,DEPARTMENT_ID)
  32. VALUES (3,'Larry','Ellison','larry@gmail.com','0123456787',TO_DATE('15/1/2010','DD/MM/YYYY'),1,30000.00,1);
  33. INSERT INTO EMPLOYEES (EMPLOYEE_ID,FIRST_NAME,LAST_NAME,EMAIL,PHONE_NUMBER,HIRE_DATE,JOB_ID,SALARY,DEPARTMENT_ID)
  34. VALUES (4,'Steve','Jobs','steve@gmail.com','0123456786',TO_DATE('15/1/2011','DD/MM/YYYY'),2,35000.00,2);
  35. INSERT INTO EMPLOYEES (EMPLOYEE_ID,FIRST_NAME,LAST_NAME,EMAIL,PHONE_NUMBER,HIRE_DATE,JOB_ID,SALARY,DEPARTMENT_ID)
  36. VALUES (5,'Remy','Lebeau','remy@gmail.com','0123456785',TO_DATE('15/1/2012','DD/MM/YYYY'),2,30000.00,2);
  37. INSERT INTO EMPLOYEES (EMPLOYEE_ID,FIRST_NAME,LAST_NAME,EMAIL,PHONE_NUMBER,HIRE_DATE,JOB_ID,SALARY,DEPARTMENT_ID)
  38. VALUES (6,'Clark','Kent','clark@gmail.com','0123456784',TO_DATE('15/1/2013','DD/MM/YYYY'),2,20000.00,2);
  39.  
  40. CREATE or REPLACE FUNCTION GET_EMP_COUNT_JC450912 (dept_name VARCHAR)
  41. RETURN VARCHAR
  42. IS
  43. no_of_employees NUMBER;
  44. BEGIN
  45. SELECT COUNT(*) INTO no_of_employees
  46. FROM DEPARTMENT, EMPLOYEES
  47. WHERE DEPARTMENT.DEPARTMENT_ID = EMPLOYEES.DEPARTMENT_ID
  48. AND DEPARTMENT_NAME = dept_name;
  49. DBMS_OUTPUT.PUT_LINE ('No of employees');
  50. RETURN no_of_employees;
  51. EXCEPTION
  52. WHEN OTHERS
  53. THEN
  54. DBMS_OUTPUT.PUT_LINE ('Department Not Available');
  55. END GET_EMP_COUNT_JC450912;
  56.  
  57. BEGIN
  58. DBMS_OUTPUT.PUT_LINE(GET_EMP_COUNT_JC450912('IT'));
  59. END;
  60.  
  61. DBMS OUTPUT:
  62. No of employees
  63. 3
  64.  
  65. BEGIN
  66. DBMS_OUTPUT.PUT_LINE(GET_EMP_COUNT_JC450912('Sales'));
  67. END;
  68.  
  69. DBMS OUTPUT:
  70. No of employees
  71. 3
  72.  
  73. BEGIN
  74. DBMS_OUTPUT.PUT_LINE(GET_EMP_COUNT_JC450912('Medicine'));
  75. END;
  76.  
  77. DBMS OUTPUT:
  78. No of employees
  79. 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement