Я работаю над процедурой, которая имеет два параметра с типом сбора.
Пример данных:
accounts
accountid
2
3
4
rts_accounts
accountid
2
3
5
вход: 1,2,3,4,5
желаемый выход: 4,5
Я знаю, что мы можем достичь этого с помощью обычного sql, но я хочу, чтобы это было с коллекцией, потому что в нашей таблице миллионы записей.Пожалуйста, кто-нибудь, помогите мне решить эту проблему, используя метод сбора.
Мой код пока:
create or replace PROCEDURE delete_account_stg (
in_accounts IN test_coll,
out_accounts OUT test_coll)
IS
result_coll test_coll;
result1_coll test_coll;
BEGIN
SELECT test_type( account_id )
BULK COLLECT INTO result_coll
FROM table(in_accounts);
select test_type(a.account_id )
bulk collect into result1_coll
from accounts a inner join rts_accounts b on a.account_id = b.account_id;
select result_coll MULTISET except result1_coll into out_accounts from dual;
END delete_account_stg;
Я получаю вывод как:
1,4,5
, но я хочу 4,5
.