Advertisement
Guest User

Untitled

a guest
Jun 8th, 2018
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 0.89 KB | None | 0 0
  1. DECLARE
  2.   PROCEDURE UpdateStudents (iloscPrzedmiotow NUMBER) IS
  3.     CURSOR egzaminyCursor (studentId NUMBER) IS SELECT
  4.       COUNT(*) AS egzaminyCount FROM EGZAMINY e WHERE e.ID_STUDENT = studentId AND e.ZDAL = 'Y';
  5.     CURSOR studentCursor IS SELECT *
  6.                             FROM STUDENCI;
  7.     zmiennaCount NUMBER;
  8.     lastDate DATE;
  9.     BEGIN
  10.       FOR student IN studentCursor LOOP
  11.         OPEN egzaminyCursor(student.ID_STUDENT);
  12.         FETCH egzaminyCursor INTO zmiennaCount;
  13.         CLOSE egzaminyCursor;
  14.         IF zmiennaCount > iloscPrzedmiotow THEN
  15.           SELECT MAX(e.DATA_EGZ) INTO lastDate FROM EGZAMINY e WHERE e.ID_STUDENT = student.ID_STUDENT AND e.ZDAL = 'Y';
  16.           UPDATE STUDENCI SET NR_ECDL = student.ID_STUDENT, DATA_ECDL = lastDate WHERE ID_STUDENT = student.ID_STUDENT;
  17.         END IF;
  18.       END LOOP;
  19.     END UpdateStudents ;
  20.   BEGIN
  21.  UpdateStudents(5);
  22. END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement