Use the number table as a filter in the where section

I want to use a table of numbers as a filter in a select expression.

This is a table of numbers:

CREATE OR REPLACE TYPE AUTOCONTROLE2.ListNumbers AS TABLE OF NUMBER(10)

This is a small sql test:

declare
testvar number;
ActiviteitSAC autocontrole2.ListNumbers := autocontrole2.ListNumbers(189449, 189456, 189473);
begin
    select  count(O.pap_id) into testvar
    from    pap_operator O
    where   O.PAP_OPERATOR_ID in (ActiviteitSAC(1), ActiviteitSAC(2), ActiviteitSAC(3));
end;

I want to replace ActiviteitSAC (1), ActiviteitSAC (2), ActiviteitSAC (3) with something like "select * from ActiviteitSAC".

Any ideas?

+3
source share
1 answer
SELECT count( o.pap_id) 
  INTO testvar
  FROM pap_operator o
 WHERE o.pap_operator_id IN (SELECT * FROM TABLE(ActiveiteitSAC) );

must do it.

+3
source

Source: https://habr.com/ru/post/1777472/


All Articles