Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE FUNCTION nome_funzione (lista VARCHAR2)
- RETURN VARCHAR2;
- res VARCHAR2 (2000);
- gruppo VARCHAR2(30);
- inizio INTEGER := 1;
- fine INTEGER;
- n Utente.Nome%TYPE;
- m Utente.Cognome%TYPE;
- BEGIN
- LOOP
- EXIT WHEN INSTR(lista,'@', fine) > LENGHT(lista);
- IF(INSTR(lista,'@', 1) >= 1) THEN
- inizio := INSTR(lista, '@', inizio);
- fine := INSTR(lista, '@', inizio + 1);
- gruppo := SUBSTR(lista, inizio + 1, fine - 1);
- inizio := fine;
- IF EXISTS(
- SELECT Nome INTO n, Cognome INTO m
- FROM Utente U JOIN Ingruppo I ON I.CodU = U.CodU
- WHERE I.CodG = gruppo)
- THEN
- res := res||'@'||n||'@'||m;
- ELSE
- EXIT;
- END IF;
- END IF;
- END LOOP;
- RETURNT res;
- END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement