Oracle PL / SQL Bulk根据条件收集到一列集合中

时间:2011-11-28 15:33:18

标签: oracle plsql bulk collect

我在一个架构中有以下表格:User_Codes(useri_id, user_code)。我想从存储过程中的另一个模式访问此表,并最小化模式之间的往返次数。

在存储过程中,我有一个包含用户数据和用户ID的集合。我想使用user_ids从其他模式中获取相应的user_codes。因此,假设rowset是一个集合或SQL TABLE,其中包含带有填充user_ids的用户数据并且要填充user_codes,我想要的是这样的:

select uc.user_code
bulk collect into rowset.user_code
from other_schema.user_codes uc
where uc.user_id in (
 select distinct rowset_table.user_id
 from table(rowset) rowset_table
 where rowset_table.user_id is not null
);

这可能吗?

1 个答案:

答案 0 :(得分:0)

只是一个疯狂的猜测,但也许这适合你:

select rs.user_id, uc.user_code
  bulk collect into rowset
  from other_schema.user_codes uc, table(rowset) rs
  where uc.user_id = rs.user_id;