Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE OR REPLACE PROCEDURE dodaj_osobe (arg_imie Osoby.Imie%TYPE, arg_nazwa Adresy.Nazwa%TYPE) IS
- CURSOR adresy_kursor IS SELECT * FROM Adresy;
- p_nazwa Adresy.Nazwa%TYPE;
- p_id_adresu Adresy.Id_adresu%TYPE;
- p_znaleziono Boolean := false;
- p_id_adresu_nowego Adresy.Id_adresu%TYPE;
- BEGIN
- OPEN adresy_kursor;
- LOOP
- FETCH adresy_kursor INTO p_nazwa, p_id_adresu;
- EXIT WHEN adresy_kursor%NOTFOUND;
- IF p_nazwa = arg_nazwa THEN
- INSERT INTO Osoby VALUES(osoby_seq.NEXTVAL, arg_imie, p_id_adresu);
- p_znaleziono := true;
- END IF;
- END LOOP;
- CLOSE adresy_kursor;
- IF p_znaleziono = false THEN
- p_id_adresu_nowego := adresy_seq.NEXTVAL;
- INSERT INTO Adresy VALUES(p_id_adresu_nowego, arg_nazwa);
- INSERT INTO Osoby VALUES(osoby_seq.NEXTVAL, arg_imie, p_id_adresu_nowego);
- END IF;
- END;
- /
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement