Advertisement
Guest User

Untitled

a guest
Jun 10th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 0.84 KB | None | 0 0
  1. CREATE OR REPLACE PROCEDURE proc(d_name departments.department_name%TYPE) IS
  2.   invalid_name EXCEPTION;
  3. BEGIN
  4.   UPDATE employees
  5.   SET salary = salary * 1.1
  6.   WHERE department_id IN (SELECT department_id
  7.                           FROM departments
  8.                           WHERE department_name = d_name);
  9.  
  10.   IF SQL%ROWCOUNT = 0 THEN
  11.     RAISE invalid_name;
  12.   ELSE
  13.     DBMS_OUTPUT.PUT_LINE('Podniesiono pensje ' || SQL%ROWCOUNT || ' pracownikom');
  14.   END IF;
  15. EXCEPTION
  16.   WHEN invalid_name THEN
  17.     DBMS_OUTPUT.PUT_LINE('Nie ma dzialu o takiej nazwie!');
  18. END;
  19. /
  20.  
  21. --sprawdzenie:
  22. SELECT e.last_name, e.salary
  23. FROM employees e JOIN departments d ON e.department_id = d.department_id
  24. WHERE d.department_name = 'Marketing';
  25.  
  26. --wywolanie:
  27. BEGIN
  28.   proc('Marketing');
  29. END;
  30. /
  31.  
  32. --wywolanie bledne:
  33. BEGIN
  34.   proc('AAAAAAAAAA');
  35. END;
  36. /
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement