Guest User

Untitled

a guest
Jan 29th, 2018
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 1.53 KB | None | 0 0
  1. CREATE OR REPLACE PROCEDURE DodajPolicjanta
  2. (
  3.     in_imie IN VARCHAR2,
  4.     in_nazwisko IN VARCHAR2,
  5.     in_data IN NUMBER,
  6.     in_plec IN VARCHAR2,
  7.     in_specjalnosc IN VARCHAR2,
  8.     in_oddzial IN VARCHAR2,
  9.     in_radiowoz IN VARCHAR2
  10. ) IS
  11.     idsp NUMBER;
  12.     idod NUMBER;
  13.     idra NUMBER;
  14.     temp1 int;
  15. BEGIN
  16.    SELECT COUNT(*) INTO temp1 FROM SPECJALNOSC WHERE nazwa LIKE in_specjalnosc;
  17.  
  18.     IF temp1 > 0 THEN
  19.     SELECT 1;
  20.         SELECT IDSPECJALNOSCI INTO idsp FROM SPECJALNOSC WHERE nazwa LIKE in_specjalnosc;
  21.     ELSE
  22.         INSERT INTO SPECJALNOSC VALUES((SELECT MAX(IDSPECJALNOSCI) FROM SPECJALNOSC)+1,in_specjalnosc);
  23.         SELECT IDSPECJALNOSCI INTO idsp FROM SPECJALNOSC WHERE nazwa = in_specjalnosc;
  24.     END IF;
  25.  
  26.     SELECT COUNT(*) INTO temp1 FROM ODDZIAL WHERE nazwa LIKE in_oddzial;
  27.  
  28.     IF temp1 > 0 THEN
  29.         SELECT IDODDZIALU INTO idod FROM ODDZIAL WHERE nazwa LIKE in_oddzial;
  30.     ELSE
  31.         INSERT INTO ODDZIAL VALUES((SELECT MAX(IDODDZIALU) FROM ODDZIAL)+1,in_oddzial,1);
  32.         SELECT IDODDZIALU INTO idod FROM ODDZIAL WHERE nazwa = in_oddzial;
  33.     END IF;
  34.  
  35.    SELECT COUNT(*) INTO temp1 FROM RADIOWOZ WHERE rodzaj LIKE in_radiowoz;
  36.  
  37.     IF temp1 > 0 THEN
  38.         SELECT IDRADIOWOZU INTO idra FROM RADIOWOZ WHERE rodzaj LIKE in_radiowoz;
  39.     ELSE
  40.         INSERT INTO RADIOWOZ VALUES((SELECT MAX(IDRADIOWOZU) FROM RADIOWOZ)+1,in_radiowoz,(SELECT MAX(NUMER) FROM RADIOWOZ)+1);
  41.         SELECT IDRADIOWOZU INTO idra FROM RADIOWOZ WHERE rodzaj = in_radiowoz;
  42.     END IF;
  43.  
  44.     INSERT INTO POLICJANT VALUES((SELECT MAX(IDPOLICJANT) FROM POLICJANT)+1,in_imie,in_nazwisko,in_data,in_plec,idsp,idod,idra);
  45.  
  46. END;
Advertisement
Add Comment
Please, Sign In to add comment