Abaixo, estou tentando usar os dados do que array
declarei, no where clause
da query mas recebo o seguinte erro:
declare
v_input varchar2(400) := '0,1,2,3,4';
type t_dep2custrel_type is table of number;
t_dep2cust_rel t_dep2custrel_type;
begin
select regexp_substr(v_input, '[^,]+', 1, level) zz
bulk collect
into t_dep2cust_rel
from dual
connect by regexp_substr(v_input, '[^,]+', 1, level) is not null;
insert into bb_tmp_natonalcode_accnumber
(identificationnumber)
select b.customer_num
from [sample_table] b
where b.dpst2cust_rel_cod in (select * from table(t_dep2cust_rel)); /* here I'm trying to use the array*/
commit;
end;
- "Tipos de coleta local não permitidos na instrução sql"
- "não é possível acessar linhas de um item de tabela não aninhado" (ORA-22905)
Eu queria saber se você poderia me ajudar com isso.
desde já, obrigado
Você deve criar o tipo como objeto de banco de dados:
Ou use
MEMBER OF
:também deve funcionar.