Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 1.05 KB | None | 0 0
  1. CREATE OR REPLACE
  2. PROCEDURE PERIODE_MINSTE_OPNAMES
  3. IS
  4.  
  5. TYPE type_tab_datums IS TABLE OF opname.datum%TYPE
  6. INDEX BY PLS_INTEGER;
  7. t_datums type_tab_datums;
  8.  
  9. TYPE type_tab_periodes IS TABLE OF periode%ROWTYPE
  10. INDEX BY PLS_INTEGER;
  11. t_periodes type_tab_periodes;
  12.  
  13. t_periode_minste_opnames type_tab_periodes;
  14.  
  15. teller NUMBER;
  16.  
  17. BEGIN
  18.  
  19.   SELECT DISTINCT datum BULK COLLECT INTO t_datums
  20.   FROM opname
  21.   WHERE datum IS NOT NULL
  22.   GROUP BY datum
  23.   HAVING COUNT(datum) <= 1
  24.   ORDER BY datum ASC;
  25.  
  26.   SELECT * BULK COLLECT INTO t_periodes
  27.   FROM PERIODE;
  28.  
  29.   teller := 1;
  30.  
  31.   FOR i IN 1..t_datums.COUNT LOOP
  32.  
  33.     FOR j IN 1..t_periodes.COUNT LOOP
  34.    
  35.       IF t_datums(i) BETWEEN t_periodes(j).begindatum
  36.                       AND t_periodes(j).einddatum THEN
  37.                      
  38.       -- DIT MACHEERT NIET :'(
  39.       SELECT * INTO t_periode_minste_opnames(teller)
  40.       FROM t_periodes(j);
  41.      
  42.       teller := teller + 1;
  43.                      
  44.       END IF;
  45.    
  46.     END LOOP;
  47.  
  48.   END LOOP;
  49.  
  50. END PERIODE_MINSTE_OPNAMES;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement