pawelkl

wozniak3-v2

Nov 5th, 2011
28
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CREATE OR REPLACE PROCEDURE pr_nowy_klub
  2. (
  3.     IN id_klubu INT,
  4.     OUT nazwa_klubu VARCHAR(40)
  5. )
  6. BEGIN
  7.     SELECT NazwaKlubu INTO nazwa_klubu FROM Kluby WHERE id_klubu = NrKlubu
  8. END;
  9.  
  10. BEGIN
  11.     DECLARE @Nazwa VARCHAR(40);
  12.     CALL pr_nowy_klub (10,@Nazwa);
  13.     message @Nazwa TO client;
  14. END;
  15.  
  16. -----------------------------------------------------------------
  17.  
  18. CREATE OR REPLACE FUNCTION liczba_zawodnikow
  19. (
  20.     IN zapytanie INT
  21. )
  22. RETURNS INTEGER
  23.  
  24. BEGIN
  25.     DECLARE @liczba_wierszy INTEGER;
  26.     SET @liczba_wierszy = (SELECT COUNT(NrZawodnika) FROM Zawodnicy WHERE zapytanie = NrKlubu);
  27.     RETURN @liczba_wierszy;
  28. END;
  29.  
  30. SELECT liczba_zawodnikow(10);
  31.  
  32. -------------------- MOJE
  33.  
  34. CREATE OR REPLACE FUNCTION nazwaklubu
  35. (
  36.     IN @nazwaklubu INT
  37. )
  38. RETURNS INTEGER
  39. BEGIN
  40.     DECLARE @nr INTEGER;
  41.     SET @nr = (SELECT NrKlubu
  42.         FROM Kluby
  43.         WHERE NazwaKlubu = @nazwaklubu);
  44.     RETURN @nr;
  45. END;
  46.  
  47. SELECT nazwaklubu('UWKS WAT Warszawa');
  48.  
  49. ----
  50. SELECT * FROM kluby;
  51. DESCRIBE Kluby;
  52. ----
  53.  
  54. SELECT rand();
  55.  
  56. ----
  57.  
  58. CREATE OR REPLACE FUNCTION fn_losuj
  59. (
  60.     IN a INTEGER,
  61.     IN b INTEGER
  62. )
  63. RETURN REAL
  64. BEGIN
  65.     DECLARE @wynik;
  66.     SET @wynik=a+(b+1-a)*rand();
  67.     RETURN @wynik;
  68. END;
  69.  
  70. SELECT fn_losuj(5,10);
  71.  
  72.  
  73.  
  74.  
  75. CREATE OR REPLACE FUNCTION fn_losuj
  76. (
  77.  IN a INTEGER,
  78.  IN b INTEGER
  79. )
  80. RETURNS INTEGER
  81. BEGIN
  82.         DECLARE @liczba INTEGER;
  83.         DECLARE @tmp INTEGER;
  84.         IF (a>b) THEN
  85.                 SET @tmp = a;
  86.                 SET a=b;
  87.                 SET b=@tmp;
  88.         END IF;
  89.         SET @liczba=a+(b+1-a)*rand();
  90.         RETURN @liczba
  91. END;
  92.  
  93. SELECT fn_losuj(5,10);
  94.  
Advertisement
Add Comment
Please, Sign In to add comment