在where子句中使用数字表作为过滤器

时间:2010-11-29 14:51:26

标签: sql oracle numbers

我想在select语句中使用Table of Number作为过滤器。

这是数字表:

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

这是一个小测试sql:

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;

我想用类似的东西替换ActiviteitSAC(1),ActiviteitSAC(2),ActiviteitSAC(3) “从ActiviteitSAC中选择*。”

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

SELECT count( o.pap_id) 
  INTO testvar
  FROM pap_operator o
 WHERE o.pap_operator_id IN (SELECT * FROM TABLE(ActiveiteitSAC) );

应该这样做。