В этом учебном пособии вы узнаете, как использовать SET в Oracle PL/SQL с синтаксисом и примерами.
Описание
В Oracle PL/SQL операция над коллекциями SET возвращает коллекцию с дистинктом (т.е. коллекцию без дублей)
Синтаксис
Синтаксис SET в Oracle PL/SQL:
SET (nt)
Параметры или аргументы
nt - коллекция из которой удаляются дубли
Примечание
- Операции возможны только с коллекциями nested tables. Результатом операции также является коллекция nested tables.
Пример
Рассмотрим пример операции над коллекциями SET, чтобы понять, как использовать SET в Oracle PL/SQL. Например:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
DECLARE reslt varchar2(100); TYPE nested_typ IS TABLE OF NUMBER; nt3 nested_typ := nested_typ(2,3,1,3,4); answer nested_typ; BEGIN answer := SET (nt3); for iter in answer.first .. answer.last loop if iter = 1 then reslt:=answer(iter); else reslt := reslt ||', '||to_char(answer(iter)); end if; end loop; dbms_output.put_line('SET (nt3) = '||reslt); --Результат: SET (nt3) = 2, 3, 1, 4 END; |
Еще пример SET со строковыми коллекциями.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
DECLARE reslt varchar2(100); TYPE nested_typ IS TABLE OF varchar2(20); nt3 nested_typ := nested_typ('бета','альфа','гамма','дельта','гамма','альфа'); answer nested_typ; BEGIN answer := SET (nt3); for iter in answer.first .. answer.last loop if iter = 1 then reslt:=answer(iter); else reslt := reslt ||', '||answer(iter); end if; end loop; dbms_output.put_line('SET (nt3) = '||reslt); --Результат: SET (nt3) = бета, альфа, гамма, дельта END; |