Advertisement
Guest User

Untitled

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