Advertisement
Guest User

Untitled

a guest
Dec 15th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 1.76 KB | None | 0 0
  1. CREATE TABLE lottorad(
  2. nr NUMBER(6));
  3. CREATE TABLE lottofacit(
  4. nr NUMBER(6));
  5. INSERT INTO lottofacit VALUES(3);
  6. INSERT INTO lottofacit VALUES(7);
  7. INSERT INTO lottofacit VALUES(11);
  8. INSERT INTO lottofacit VALUES(35);
  9. INSERT INTO lottofacit VALUES(12);
  10. INSERT INTO lottofacit VALUES(5);
  11. INSERT INTO lottofacit VALUES(24);
  12. COMMIT;
  13.  
  14. SELECT *
  15. FROM lottofacit;
  16.  
  17.  
  18. ----- Package lotto -----
  19. CREATE OR REPLACE PACKAGE lotto
  20. AS    
  21.     PROCEDURE clear_table;
  22.     PROCEDURE skapaLottoRad;
  23.    
  24. END;
  25. /
  26.  
  27.  
  28. ----- Skapar Package Body -----
  29.  
  30. CREATE OR REPLACE PACKAGE BODY lotto
  31. AS
  32.     ------------Tömmer lottorad------------
  33.     PROCEDURE clear_table
  34.     AS
  35.     v_nr NUMBER;
  36.  
  37.     BEGIN
  38.         SELECT COUNT(*)
  39.         INTO v_nr
  40.         FROM lottorad;
  41.    
  42.         IF v_nr != 0
  43.            THEN DELETE FROM lottorad;
  44.         END IF;
  45.     END clear_table;
  46.    
  47.    
  48.     ------------Procedur skapaLottoRad------------------
  49.     PROCEDURE skapaLottoRad
  50.     AS
  51.     v_lottoNr lottorad.nr%TYPE;
  52.     v_count NUMBER;
  53.     v_nr NUMBER;
  54.  
  55.     BEGIN
  56.         v_count := 0;
  57.    
  58.         SELECT COUNT(nr)
  59.         INTO v_nr
  60.         FROM lottorad;
  61.    
  62.    
  63.         WHILE v_count < 7
  64.         LOOP
  65.             v_lottoNr := skapaNyttLottoNr;
  66.             INSERT INTO lottorad(nr)
  67.             VALUES(v_lottoNr);
  68.    
  69.             v_count := v_count + 1;
  70.         END LOOP;
  71.     END;
  72.    
  73.    
  74.     ------------Slumpar heltal (1-35)--------------
  75.     FUNCTION skapaNyttLottoNr
  76.     RETURN NUMBER
  77.     AS  
  78.     lottoNr NUMBER(2);  
  79.     BEGIN
  80.         SELECT ROUND(DBMS_RANDOM.VALUE(1,35),0)
  81.         INTO lottoNr
  82.         FROM dual;
  83.         RETURN lottoNr;
  84.     END skapaNyttLottoNr;
  85.    
  86. END lotto;
  87. /
  88.  
  89.  
  90. EXEC lotto.clear_table;
  91. EXEC lotto.skapaLottoRad;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement