Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. CREATE OR REPLACE PROCEDURE dodaj_osobe (arg_imie Osoby.Imie%TYPE, arg_nazwa Adresy.Nazwa%TYPE) IS
  2. CURSOR adresy_kursor IS SELECT * FROM Adresy;
  3. p_nazwa Adresy.Nazwa%TYPE;
  4. p_id_adresu Adresy.Id_adresu%TYPE;
  5. p_znaleziono Boolean := false;
  6. p_id_adresu_nowego Adresy.Id_adresu%TYPE;
  7. BEGIN
  8. OPEN adresy_kursor;
  9. LOOP
  10. FETCH adresy_kursor INTO p_nazwa, p_id_adresu;
  11. EXIT WHEN adresy_kursor%NOTFOUND;
  12. IF p_nazwa = arg_nazwa THEN
  13. INSERT INTO Osoby VALUES(osoby_seq.NEXTVAL, arg_imie, p_id_adresu);
  14. p_znaleziono := true;
  15. END IF;
  16. END LOOP;
  17. CLOSE adresy_kursor;
  18.  
  19. IF p_znaleziono = false THEN
  20. p_id_adresu_nowego := adresy_seq.NEXTVAL;
  21. INSERT INTO Adresy VALUES(p_id_adresu_nowego, arg_nazwa);
  22. INSERT INTO Osoby VALUES(osoby_seq.NEXTVAL, arg_imie, p_id_adresu_nowego);
  23. END IF;
  24. END;
  25. /
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement