Advertisement
patryk

SBD_L12

May 27th, 2015
577
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.76 KB | None | 0 0
  1. -- ZAD 1
  2. CREATE OR REPLACE PACKAGE KONWERSJA IS
  3.   FUNCTION CELS_TO_FAHR(CELS NUMBER) RETURN NUMBER;
  4.   FUNCTION FAHR_TO_CELS(FAHR NUMBER) RETURN NUMBER;
  5. END KONWERSJA;
  6. /
  7.  
  8. CREATE OR REPLACE PACKAGE BODY KONWERSJA IS
  9.  
  10.   FUNCTION CELS_TO_FAHR(CELS NUMBER) RETURN NUMBER IS
  11.     FAHR NUMBER;
  12.   BEGIN
  13.     FAHR := 9/5 * CELS + 32;
  14.     RETURN FAHR;
  15.   END CELS_TO_FAHR;
  16.  
  17.   FUNCTION FAHR_TO_CELS(FAHR NUMBER) RETURN NUMBER IS
  18.     CELS NUMBER;
  19.   BEGIN
  20.     CELS := 5/9 * (FAHR - 32);
  21.     RETURN CELS;
  22.   END FAHR_TO_CELS;
  23.  
  24. END KONWERSJA;
  25. /
  26.  
  27. SELECT KONWERSJA.FAHR_TO_CELS(212) CELSJUSZ FROM DUAL;
  28. SELECT KONWERSJA.CELS_TO_FAHR(0) FAHRENHEIT FROM DUAL;
  29. /
  30.  
  31. -- ZAD 2
  32. CREATE OR REPLACE PACKAGE ZMIENNE IS
  33.   V_LICZNIK NUMBER;
  34.   PROCEDURE ZWIEKSZ_LICZNIK;
  35.   PROCEDURE ZMNIEJSZ_LICZNIK;
  36.   FUNCTION POKAZ_LICZNIK RETURN NUMBER;
  37. END ZMIENNE;
  38. /
  39.  
  40. CREATE OR REPLACE PACKAGE BODY ZMIENNE IS
  41.  
  42.   PROCEDURE ZWIEKSZ_LICZNIK IS
  43.   BEGIN
  44.     V_LICZNIK := V_LICZNIK + 1;
  45.     DBMS_OUTPUT.PUT_LINE('ZWIEKSZONO');
  46.   END ZWIEKSZ_LICZNIK;
  47.  
  48.   PROCEDURE ZMNIEJSZ_LICZNIK IS
  49.   BEGIN
  50.     V_LICZNIK := V_LICZNIK - 1;
  51.     DBMS_OUTPUT.PUT_LINE('ZMNIEJSZONO');
  52.   END ZMNIEJSZ_LICZNIK;
  53.  
  54.   FUNCTION POKAZ_LICZNIK RETURN NUMBER IS
  55.   BEGIN
  56.     RETURN V_LICZNIK;
  57.   END POKAZ_LICZNIK;
  58.  
  59.   BEGIN
  60.     V_LICZNIK := 1;
  61.     DBMS_OUTPUT.PUT_LINE('ZAINICJALIZOWANO');
  62.    
  63. END ZMIENNE;
  64. /
  65. EXECUTE ZMIENNE.ZWIEKSZ_LICZNIK;
  66. EXECUTE ZMIENNE.ZMINEJSZ_LICZNIK;
  67. SELECT ZMIENNE.POKAZ_LICZNIK LICZNIK FROM DUAL;
  68. /
  69.  
  70. -- ZAD 3
  71. CREATE OR REPLACE PROCEDURE ILE_REKORDOW (RELACJA VARCHAR) IS
  72.   ILE NUMBER;
  73. BEGIN
  74.   EXECUTE IMMEDIATE 'SELECT COUNT(*) INTO :2 FROM :1'
  75.     USING RELACJA RETURNING INTO ILE;
  76.        
  77.   DBMS_OUTPUT.PUT_LINE(ILE);
  78. END;
  79. /
  80.  
  81. EXECUTE ILE_REKORDOW('PRACOWNICY');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement