如何取Table类型值集中的值

QP模块修改量设置中的限定词,对应了不同的值集,以下代码显示了,如何通过值集,得到值集所存储的值(适用于表验证值集,独立值集,其他值集未试用):

declare
  cursor ddd is
    select ffvt.id_column_name,
           ffvt.meaning_column_name,
           decode(ffvt.value_column_name,
                  ffvt.id_column_name,
                  'NULL',
                  ffvt.value_column_name) value_column_name,
           ffvt.application_table_name,
           ffvt.additional_where_clause
      from FND_FLEX_VALIDATION_TABLES ffvt
     where FFVT.flex_value_set_id = 1015180;

  plsql_block VARCHAR2(5000);
  a           varchar2(2000);
  c           varchar2(2000);
  b           varchar2(2000);
begin
  for rec in ddd loop
    plsql_block := 'select * from (select ' || rec.value_column_name || ',' ||
                   rec.id_column_name || ',' || rec.meaning_column_name ||
                   ' from ' || rec.application_table_name || ' ' ||
                   substr(rec.additional_where_clause, 1, 4000) ||
                   ') where ' || substr(rec.id_column_name,instr(rec.id_column_name,'.')+1) || ' = :1';
  
    EXECUTE IMMEDIATE plsql_block
      into a, b, c
      using 1001;
    dbms_output.put_line(plsql_block);
    dbms_output.put_line(a);
    dbms_output.put_line(b);
    dbms_output.put_line(c);
  end loop;
end;


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值