majczel23000

[SBD] Kolos PL/SQL

Jan 21st, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 1.65 KB | None | 0 0
  1. GRA)
  2.     ZAD5A)
  3. BEGIN
  4. FOR iterator IN 1..10 LOOP
  5. DBMS_OUTPUT.put_line(iterator);
  6. END LOOP;
  7. END;
  8.  
  9.     ZAD5B)
  10. ACCEPT maksimum NUMBER PROMPT 'Podaj max:  '
  11. DECLARE
  12. BEGIN
  13. FOR iterator IN 1..&maksimum LOOP
  14.     IF MOD(iterator,2)=0 THEN
  15.         DBMS_OUTPUT.put_line(iterator);
  16.     END IF;
  17. END LOOP;
  18. END;
  19.  
  20.  ZAD5C)
  21. Nie potrzebujemy, ponieważ możemy dostać się bezpośrednio DO watrtości pobranej od użytkownika zmiennej po referencji
  22.  
  23.     ZAD6A)
  24. CREATE OR REPLACE PROCEDURE proc1(
  25.     var_empno IN NUMBER
  26. )
  27. IS
  28. result EMP%ROWTYPE;
  29. BEGIN
  30. SELECT * INTO result FROM EMP WHERE empno=var_empno;
  31. IF SQL%FOUND THEN
  32.     DBMS_OUTPUT.put_line('ename: ' || result.ename || ', job: ' || result.job);
  33. ELSE
  34.     DBMS_OUTPUT.put_line('Brak takiego');
  35. END IF;
  36. END;
  37.  
  38.     ZAD6B)
  39. Kursor niejawny, ponieważ zwraca ON informacje o ostatnim wykonanym poleceniu. Kursory jawne są deklarowane przez programistę i służą DO odczytu zbioru rekordów z bazy danych. My chcemy tylko jeden rekord.
  40.     ZAD6C)
  41. 1. Zostanie wypisany błąd 'no data found'. 2. Zostanie zwrócony błąd: "exact fetch returns more than requested number of rows"
  42.  
  43.  
  44. GRB)
  45.     ZAD6A)
  46. CREATE OR REPLACE PROCEDURE proc2(
  47.     var_job IN VARCHAR
  48. )
  49. IS
  50. result KLIENCI%ROWTYPE;
  51. CURSOR pierwszy IS
  52. SELECT * FROM EMP WHERE job=var_job;
  53. BEGIN
  54. FOR kl IN pierwszy LOOP
  55. DBMS_OUTPUT.put_line('ename: ' || kl.ename || ', job: ' || kl.job);
  56. END LOOP;
  57. END;
  58.  
  59.     ZAD6B)
  60. Kursor jawny, ponieważ tylko dzięki niemu możemy pobrać z tabeli więcej wartości niż jedna
  61.    
  62.     ZAD6C)
  63. Gdy nie bd istniało, TO nic się nie stanie, nie będzie żadnego wyniku. Gdy będzie więcej, wypiszą się na ekranie wszystkie pobrane
Add Comment
Please, Sign In to add comment