Guest User

Untitled

a guest
Nov 19th, 2018
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.51 KB | None | 0 0
  1. create table categories(
  2. id NUMBER primary key,
  3. display_name VARCHAR2(255),
  4. parent_id NUMBER
  5. );
  6.  
  7. create table employers(
  8. id NUMBER primary key,
  9. company_name VARCHAR2(255),
  10. address VARCHAR2(255),
  11. description VARCHAR2(4000),
  12. created_at DATE,
  13. updated_at DATE
  14. );
  15.  
  16. create table employees(
  17. id NUMBER primary key,
  18. first_name VARCHAR2(255),
  19. last_name VARCHAR2(255),
  20. gender VARCHAR2(255),
  21. salary NUMBER,
  22. email VARCHAR2(255),
  23. phone VARCHAR2(255),
  24. schedule_type NUMBER,
  25. job_position VARCHAR2(255),
  26. category_id NUMBER,
  27. education_history VARCHAR2(4000),
  28. work_history VARCHAR2(4000),
  29. created_at DATE,
  30. updated_at DATE,
  31. constraint fk_employee_category foreign key (category_id) references categories(id)
  32. );
  33.  
  34. create table vacancies(
  35. id NUMBER primary key,
  36. employer_id NUMBER,
  37. deadline DATE,
  38. description VARCHAR2(4000),
  39. title VARCHAR2(255),
  40. salary NUMBER,
  41. job_position VARCHAR2(255),
  42. category_id NUMBER,
  43. schedule_type NUMBER,
  44. city VARCHAR2(255),
  45. phone VARCHAR2(255),
  46. email VARCHAR2(255),
  47. created_at DATE,
  48. updated_at DATE,
  49. constraint fk_vacancy_category foreign key (category_id) references categories(id)
  50. );
  51.  
  52. // (!!) result(0-waiting,1-accepted,2-rejected)
  53. create table applications(
  54. id NUMBER primary key,
  55. employee_id NUMBER,
  56. vacancy_id NUMBER,
  57. result NUMBER,
  58. created_at DATE,
  59. updated_at DATE,
  60. constraint fk_application_employee foreign key (employee_id) references employees(id),
  61. constraint fk_application_vacancy foreign key (vacancy_id) references vacancies(id)
  62. )
  63.  
  64. INSERT INTO categories VALUES (1, 'Maliyye', null);
  65. INSERT INTO categories VALUES (2, 'Sigorta', 1);
  66. INSERT INTO categories VALUES (3, 'Audit', 1);
  67. INSERT INTO categories VALUES (4, 'Muhasibat', 1);
  68. INSERT INTO categories VALUES (5, 'Informasiya Texnologiyalari', null);
  69. INSERT INTO categories VALUES (6, 'IT mutexessis', 5);
  70. INSERT INTO categories VALUES (7, 'Proqramlasdirma', 5);
  71. INSERT INTO categories VALUES (8, 'Sistem Idareetmesi', 5);
  72.  
  73. INSERT INTO employers VALUES (1, 'Azercell', 'Filan street 14', 'Telekommunikasiya sirketi',SYSDATE,SYSDATE);
  74. INSERT INTO employers VALUES (2, 'ATL Tech', 'Basqa street 14', 'IT Solutions',SYSDATE,SYSDATE);
  75. INSERT INTO employers VALUES (3, 'Idrak Technology', 'Tamam basqa street 14', 'Yene IT Solutions',SYSDATE,SYSDATE);
  76.  
  77. INSERT INTO employees VALUES (1, 'Chingiz', 'Mammadli', 'male',2000,'memmedlicngz@gmail.com','+994505050505',0,'Software Engineer',7,'Qafqaz 2014-2019','APA 2017-2018',SYSDATE,SYSDATE);
  78. INSERT INTO employees VALUES (2, 'Ferize', 'Ehmedova', 'female',3500,'ferizeahmedova@gmail.com','+994555555555',1,'Muhasib',4,'BDU 2012-2016','P&G 2017-2019',SYSDATE,SYSDATE);
  79. INSERT INTO employees VALUES (3, 'Nagi', 'Quliyev', 'male',800,'nagiquliyev@gmail.com','+994707070707',1,'Sys admin',8,'ADNA 2012-2016','SomeCompany 2015-2017',SYSDATE,SYSDATE);
  80.  
  81.  
  82. INSERT INTO vacancies VALUES (1, 1, '12/20/2018', 'Java dev axtarilir, 9dan 18e qeder, 3 il is tecrubesi falan filan','Yaxsi dev axtarilir',500,'Java Developer',7,0,'Baku','+994125025002','hr@azercell.com',SYSDATE,SYSDATE);
  83. INSERT INTO vacancies VALUES (2, 3, '11/19/2018', 'Muhasib axtarilir, 9dan 18e qeder, 5 il is tecrubesi falan filan','Muhasib vakansiyasi',2000,'Muhasib',4,1,'Baku','+994125445454','recruitment@idrak.az',SYSDATE,SYSDATE);
  84.  
  85. INSERT INTO applications VALUES (1, 1, 1, 0, SYSDATE, SYSDATE);
  86. INSERT INTO applications VALUES (2, 2, 2, 0, SYSDATE, SYSDATE);
  87.  
  88.  
  89. // --- d) Create at least one view(join at least 2 table by foreign keys) ---
  90.  
  91. CREATE OR REPLACE VIEW application_details AS
  92. SELECT employees.first_name||' '||employees.last_name AS fullname, employers.company_name, vacancies.job_position, vacancies.title
  93. FROM applications
  94. JOIN employees ON applications.employee_id = employees.id
  95. JOIN vacancies ON applications.vacancy_id = vacancies.id
  96. JOIN employers ON vacancies.employer_id = employers.id;
  97.  
  98. SELECT * FROM application_details;
  99.  
  100. ///////
  101. CREATE SEQUENCE "APPLICATION_SEQUENCE" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1 NOCACHE NOORDER NOCYCLE NOPARTITION;
  102.  
  103. CREATE SEQUENCE "CATEGORY_SEQUENCE" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1 NOCACHE NOORDER NOCYCLE NOPARTITION;
  104.  
  105. CREATE SEQUENCE "EMPLOYEE_SEQUENCE" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1 NOCACHE NOORDER NOCYCLE NOPARTITION;
  106.  
  107. CREATE SEQUENCE "EMPLOYER_SEQUENCE" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1 NOCACHE NOORDER NOCYCLE NOPARTITION
  108.  
  109. CREATE SEQUENCE "VACANCY_SEQUENCE" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1 NOCACHE NOORDER NOCYCLE NOPARTITION
  110.  
  111. ///
  112. create or replace procedure "CATEGORY_CRUD_PROCEDURE"
  113. (p_operation IN VARCHAR2,
  114. p_id IN NUMBER,
  115. p_display_name IN VARCHAR2,
  116. p_parent_id IN NUMBER)
  117. is
  118. begin
  119. CASE p_operation
  120. when 'create' then
  121. insert into categories
  122. (id, display_name, parent_id)
  123. values
  124. (category_sequence.nextval, p_display_name, p_parent_id);
  125. --when 'read' then
  126. --select * from categories;
  127. when 'update' then
  128. update categories set display_name = p_display_name, parent_id = p_parent_id
  129. where id = p_id;
  130. when 'delete' then dbms_output.put_line('You passed');
  131. DELETE FROM categories WHERE ID = p_id;
  132. else dbms_output.put_line('No such operation');
  133. END CASE;
  134. end;
  135.  
  136. ///
  137. begin
  138. CATEGORY_CRUD_PROCEDURE('create', null, 'yeni', null);
  139. end
Add Comment
Please, Sign In to add comment