Advertisement
Guest User

Untitled

a guest
Apr 15th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 1.05 KB | None | 0 0
  1. PROCEDURE insertabbreviation
  2. IS
  3.  str VARCHAR2(100);
  4.  res VARCHAR2(20);
  5.  res2 VARCHAR2(40);
  6.  i INTEGER;
  7.  n INTEGER;
  8.  len INTEGER;
  9.  CURSOR csubjects IS
  10.  SELECT id_przedmiot,
  11.  nazwa_p
  12.  FROM przedmioty
  13.  ORDER BY 1;
  14. BEGIN
  15.  FOR vsubject IN csubjects
  16.  LOOP
  17.  BEGIN
  18.  str := vsubject.nazwa_p;
  19.  i := -1;
  20.  n:= 1;
  21.  res := SUBSTR(str,1,1);
  22.  res2 := SUBSTR(str,1,2);
  23.  WHILE i != 0
  24.  LOOP
  25.  i := INSTR(str,' ',1,n);
  26.  res := CONCAT(res, SUBSTR(str,i+1,1));
  27.  res2 := CONCAT(res2, SUBSTR(str,i+1,2));
  28.  n:= n+1;
  29.  END LOOP;
  30.  len := LENGTH(res);
  31.  res := SUBSTR(res,1,len-1);
  32.  len := LENGTH(res2);
  33.  res2 := SUBSTR(res2,1,len-2);
  34.  sys.DBMS_OUTPUT.Put_line(res
  35.  || ' '
  36.  || res2);
  37.  SELECT 'x'
  38.  INTO str
  39.  FROM przedmioty
  40.  WHERE skrot_p = res;
  41.  
  42.  UPDATE przedmioty
  43.  SET skrot_p = res2
  44.  WHERE id_przedmiot = vsubject.id_przedmiot;
  45.  EXCEPTION
  46.  WHEN NO_DATA_FOUND THEN
  47.  UPDATE przedmioty
  48.  SET skrot_p = res
  49.  WHERE id_przedmiot = vsubject.id_przedmiot;
  50.  
  51.  END;
  52.  END LOOP;
  53. END;
  54. BEGIN
  55.  insertabbreviation;
  56. END;
  57. ALTER TABLE przedmioty ADD skrot_p VARCHAR2(40);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement