Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 0.92 KB | None | 0 0
  1. CREATE OR REPLACE
  2. PROCEDURE PERIODE_MINSTE_OPNAMES AS
  3.   TYPE type_coll_periode
  4.   IS TABLE OF periode%ROWTYPE
  5.   INDEX BY PLS_INTEGER;
  6.   t_per type_coll_periode;
  7. BEGIN
  8.   SELECT p.begindatum, p.einddatum, p.plaatsnaam BULK COLLECT INTO t_per
  9.   FROM periode p, opname o
  10.   WHERE o.datum BETWEEN p.begindatum AND p.einddatum
  11.   GROUP BY p.begindatum, p.einddatum, p.plaatsnaam
  12.   HAVING COUNT(p.begindatum) = (SELECT MIN(COUNT(*))
  13.                                 FROM periode p, opname o
  14.                                 WHERE o.datum BETWEEN p.begindatum AND p.einddatum
  15.                                 GROUP BY p.begindatum);
  16.  
  17.   FOR i IN 1..t_per.COUNT
  18.     LOOP
  19.         DBMS_OUTPUT.PUT(t_per(i).begindatum || ' ');
  20.         DBMS_OUTPUT.PUT(t_per(i).einddatum || ' ');
  21.         DBMS_OUTPUT.PUT_LINE(t_per(i).plaatsnaam);
  22.     END LOOP;                              
  23.                              
  24. END PERIODE_MINSTE_OPNAMES;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement