Для печати элементов с использованием вложенных таблиц в Oracle - PullRequest
0 голосов
/ 24 сентября 2018

Я работаю над процедурой, которая имеет два параметра с типом сбора.
Пример данных:

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.

...