Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.87 KB | None | 0 0
  1. --SELECT * FROM EMP;
  2.  
  3. --Ex1
  4. CREATE TABLE top_dogs( name VARCHAR2(25), salary NUMBER(11,2));
  5.  
  6. SET SERVEROUT ON;
  7. ACCEPT p_emp PROMPT 'Introduceti nume angajat: '
  8. DECLARE
  9. TYPE name_table_tip IS TABLE OF
  10. emp.ename%TYPE INDEX BY BINARY_INTEGER;
  11. var_name_table name_table_tip;
  12.  
  13. TYPE sal_table_tip IS TABLE OF
  14. emp.sal%TYPE INDEX BY BINARY_INTEGER;
  15. var_sal_table sal_table_tip;
  16.  
  17. BEGIN
  18. SELECT ename, sal INTO var_name_table(1), var_sal_table(1) FROM emp WHERE LOWER(ename) = LOWER('&p_emp');
  19. DBMS_OUTPUT.PUT_LINE('Nume angajat:' || var_name_table(1));
  20. DBMS_OUTPUT.PUT_LINE('Salariu angajat: ' || var_sal_table(1));
  21.  
  22. INSERT INTO top_dogs VALUES(var_name_table(1), var_sal_table(1));
  23. END;
  24. /
  25. SELECT * FROM top_dogs;
  26.  
  27.  
  28. --Suplimentar
  29. SET SERVEROUT ON;
  30.  
  31. DECLARE
  32. TYPE emp_hire_record IS RECORD(
  33. name emp.ename%TYPE,
  34. hire_date emp.hiredate%TYPE
  35. );
  36.  
  37. TYPE emp_hire_table IS TABLE OF
  38. emp_hire_record INDEX BY BINARY_INTEGER;
  39. var_emp_hire_table emp_hire_table;
  40.  
  41. BEGIN
  42. SELECT ename, hiredate INTO var_emp_hire_table(1).name, var_emp_hire_table(1).hire_date FROM emp WHERE LOWER(ename) = LOWER('BLAKE');
  43. SELECT ename, hiredate INTO var_emp_hire_table(2).name, var_emp_hire_table(2).hire_date FROM emp WHERE LOWER(ename) = LOWER('SCOTT');
  44. SELECT ename, hiredate INTO var_emp_hire_table(3).name, var_emp_hire_table(3).hire_date FROM emp WHERE LOWER(ename) = LOWER('KING');
  45. SELECT ename, hiredate INTO var_emp_hire_table(4).name, var_emp_hire_table(4).hire_date FROM emp WHERE LOWER(ename) = LOWER('FORD');
  46.  
  47. DBMS_OUTPUT.PUT_LINE('BEFORE:');
  48. DBMS_OUTPUT.PUT_LINE('Nume angajat:' || var_emp_hire_table(1).name || ' Hire_date: ' || var_emp_hire_table(1).hire_date);
  49. DBMS_OUTPUT.PUT_LINE('Nume angajat:' || var_emp_hire_table(2).name || ' Hire_date: ' || var_emp_hire_table(2).hire_date);
  50. DBMS_OUTPUT.PUT_LINE('Nume angajat:' || var_emp_hire_table(3).name || ' Hire_date: ' || var_emp_hire_table(3).hire_date);
  51. DBMS_OUTPUT.PUT_LINE('Nume angajat:' || var_emp_hire_table(4).name || ' Hire_date: ' || var_emp_hire_table(4).hire_date);
  52. DBMS_OUTPUT.PUT_LINE('AFTER:');
  53. FOR i IN 1 .. 4 LOOP
  54. IF EXTRACT(day FROM var_emp_hire_table(i).hire_date)<>1 THEN
  55.  
  56. var_emp_hire_table(i).hire_date:=TRUNC(var_emp_hire_table(i).hire_date, 'MM');
  57. DBMS_OUTPUT.PUT_LINE('Nu este angajat pe 1: ' || var_emp_hire_table(i).name);
  58. ELSE
  59. DBMS_OUTPUT.PUT_LINE('Angajat pe 1: ' || var_emp_hire_table(i).name);
  60. END IF;
  61. END LOOP;
  62.  
  63. DBMS_OUTPUT.PUT_LINE('Nume angajat:' || var_emp_hire_table(1).name || ' Hire_date: ' || var_emp_hire_table(1).hire_date);
  64. DBMS_OUTPUT.PUT_LINE('Nume angajat:' || var_emp_hire_table(2).name || ' Hire_date: ' || var_emp_hire_table(2).hire_date);
  65. DBMS_OUTPUT.PUT_LINE('Nume angajat:' || var_emp_hire_table(3).name || ' Hire_date: ' || var_emp_hire_table(3).hire_date);
  66. DBMS_OUTPUT.PUT_LINE('Nume angajat:' || var_emp_hire_table(4).name || ' Hire_date: ' || var_emp_hire_table(4).hire_date);
  67.  
  68. END;
  69. /
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement