In Oracle:
--Is Number in set?
create or replace type TNumbers as table of number(9);
/
create or replace function Value_In(p_Value in number, p_Set in TNumbers) return number is
v_Result number(1) := 0;
begin
begin
select 1 into v_Result from dual
where p_Value in (select * from table(p_Set));
exception
when NO_DATA_FOUND then null;
end;
return v_Result;
end;
/
//
In Delphi the PL/SQL block for TOracleDataSet component SQL property:
select * from yourtable t where Value_In(:v_ID, :v_Set) = 1;
Though you need to bind value to variables v_ID and v_Set.
To bind value to v_Set you need to use the followning code:
...
var
v_Set: TOracleObject;
...
begin
...
v_Set := TOracleObject.Create(orcSession, 'TNUmbers', '');
...
v_Set.Elements[1] := 1;
v_Set.Elements[2] := 2;
...
orcYourTable.SetVariable('v_ID', 1);
orcYourTable.SetComplexVariable('v_Set', v_Set);
...
end;
// :)