Advertisement
Guest User

Untitled

a guest
May 20th, 2019
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.72 KB | None | 0 0
  1. CREATE FUNCTION nome_funzione (lista VARCHAR2)
  2. RETURN VARCHAR2;
  3.  
  4. res VARCHAR2 (2000);
  5. gruppo VARCHAR2(30);
  6. inizio INTEGER := 1;
  7. fine INTEGER;
  8. n Utente.Nome%TYPE;
  9. m Utente.Cognome%TYPE;
  10.  
  11. BEGIN
  12. LOOP
  13. EXIT WHEN INSTR(lista,'@', fine) > LENGHT(lista);
  14. IF(INSTR(lista,'@', 1) >= 1) THEN
  15.  
  16. inizio := INSTR(lista, '@', inizio);
  17. fine := INSTR(lista, '@', inizio + 1);
  18. gruppo := SUBSTR(lista, inizio + 1, fine - 1);
  19. inizio := fine;
  20.  
  21. IF EXISTS(
  22. SELECT Nome INTO n, Cognome INTO m
  23. FROM Utente U JOIN Ingruppo I ON I.CodU = U.CodU
  24. WHERE I.CodG = gruppo)
  25. THEN
  26. res := res||'@'||n||'@'||m;
  27. ELSE
  28. EXIT;
  29. END IF;
  30. END IF;
  31. END LOOP;
  32. RETURNT res;
  33. END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement