-1
Мне нужна помощь с PL/SQL. Как я могу использовать переменную с типом данных TABLE (в моем случае эта переменная включает в себя 3 элемента VARCHAR2) с оператором IN, без использования доступа по индексу? Пример Мне нужно использовать переменную с типом ТАБЛИЦА в операторе IN
select field1
from dual
where field1 in (myTableVariable);
myTableVariable необходимость возвращения из функции.
Не законченная функция:
declare
v_string varchar2(100);
v_string2 varchar2(100);
TYPE V_ARRAY IS TABLE OF VARCHAR2(10)
INDEX BY BINARY_INTEGER;
result V_ARRAY;
n number;
begin
n := 1;
v_string := '13,15,02';
while v_string != ' ' loop
select regexp_substr(v_string, '^[a-z0-9]*', 1),
regexp_replace(v_string, '^[a-z0-9]*(,|$)', '')
into v_string2, v_string
from dual;
result(n) := v_string2;
n := n + 1;
dbms_output.put_line(v_string2);
end loop;
return result;
end;
use where field1 in (выберите FieldToSelect from dbo.FunctionName (Параметры)) – Sandeep
В функции я хочу вернуть переменную с типом данных TABLE, это возможно? – grossoghur
вы можете создать функцию таблицы в sql – Sandeep