Advertisement
Guest User

Untitled

a guest
Nov 21st, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. create or replace PROCEDURE MAAK_TICKETS
  2. (festivalnr NUMBER)
  3. AS
  4. TYPE type_tab_tick IS TABLE
  5. OF tickets%ROWTYPE
  6. INDEX BY PLS_INTEGER;
  7.  
  8. r_festival festivals%ROWTYPE;
  9. t_tickets type_tab_tick;
  10.  
  11. v_pdagtickets NUMBER(3) := 45;
  12. v_pviptickets NUMBER(3) := 10;
  13. v_pcombitickets NUMBER(3) := 45;
  14. BEGIN
  15. SELECT *
  16. INTO r_festival
  17. FROM festivals
  18. WHERE festivalnr = festivalnr;
  19.  
  20. FOR i IN 1..(r_festival.capaciteit * 1.55)
  21. LOOP
  22. t_tickets(i).ticketnr := seq_festivalnr.NEXTVAL;
  23. t_tickets(i).omschrijving := 'Automatisch gegenereerd';
  24. t_tickets(i).festivalnr := r_festival.festivalnr;
  25. t_tickets(i).verkoopnr := null;
  26.  
  27. IF i <= r_festival.capaciteit * v_pdagtickets / 100
  28. THEN
  29. t_tickets(i).begindatum := r_festival.startdatum;
  30. t_tickets(i).einddatum := r_festival.startdatum;
  31. t_tickets(i).tickettypenr := 3;
  32. ELSIF i <= r_festival.capaciteit * v_pdagtickets / 100 * 2
  33. THEN
  34. t_tickets(i).begindatum := r_festival.einddatum;
  35. t_tickets(i).einddatum := r_festival.einddatum;
  36. t_tickets(i).tickettypenr := 3;
  37. ELSIF i <= r_festival.capaciteit * (v_pdagtickets*2 + v_pviptickets) / 100
  38. THEN
  39. t_tickets(i).begindatum := r_festival.startdatum;
  40. t_tickets(i).einddatum := r_festival.startdatum;
  41. t_tickets(i).tickettypenr := 1;
  42. ELSIF i <= r_festival.capaciteit * (v_pdagtickets*2 + v_pviptickets*2) / 100
  43. THEN
  44. t_tickets(i).begindatum := r_festival.einddatum;
  45. t_tickets(i).einddatum := r_festival.einddatum;
  46. t_tickets(i).tickettypenr := 1;
  47. ELSE
  48. t_tickets(i).begindatum := r_festival.startdatum;
  49. t_tickets(i).einddatum := r_festival.einddatum;
  50. t_tickets(i).tickettypenr := 2;
  51. END IF;
  52. END LOOP;
  53.  
  54. FORALL i IN INDICES OF t_tickets
  55. INSERT INTO tickets VALUES t_tickets(i);
  56. COMMIT;
  57. END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement