Sajmon

PrintReport

Apr 19th, 2012
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.38 KB | None | 0 0
  1. CREATE OR REPLACE
  2. PROCEDURE PrintReport
  3. AS
  4. v_count INT := 0;
  5. BEGIN
  6.   FOR depart IN (SELECT * FROM Department)
  7.     loop
  8.       SELECT COUNT(*) INTO v_count FROM Teacher WHERE department = depart.u_id;
  9.       IF (v_count > 0) THEN
  10.         dbms_output.put_line('');
  11.         dbms_output.put_line('ID katedry: ' || depart.u_id);
  12.         dbms_output.put_line('Nazov kadedry: ' || depart.name);
  13.         dbms_output.put_line('Pocet zamestnancov: ' || v_count);
  14.         FOR head IN (SELECT * FROM Teacher WHERE department = depart.u_id)
  15.           LOOP
  16.             IF (head.login = depart.head) THEN
  17.               dbms_output.put_line('Veduci katedry: ' || head.login);
  18.               exit;
  19.             ELSE
  20.               dbms_output.put_line('Nema veduceho');
  21.             END IF;
  22.           END LOOP;
  23.         dbms_output.put_line('');
  24.         dbms_output.put_line('Zamestnanci: ');
  25.         FOR teach IN (SELECT * FROM Teacher WHERE department = depart.u_id)
  26.          loop
  27.           IF (teach.login <> depart.head OR depart.head IS NULL) THEN
  28.             dbms_output.put_line('login: ' || teach.login);
  29.             dbms_output.put_line('fname: ' || teach.fname);
  30.             dbms_output.put_line('lname: ' || teach.lname);
  31.             dbms_output.put_line('email: ' || teach.email);
  32.             dbms_output.put_line('');
  33.           END IF;
  34.          END loop;
  35.        END IF;
  36.     END loop;
  37. END;
Advertisement
Add Comment
Please, Sign In to add comment