0

私はOracleの初心者です。次のようにテーブルタイプを作成しました。

TYPE metertable IS TABLE OF pseb.metermaster.meterid%type;

そのテーブルタイプに値を挿入する方法がわかりません。次のクエリの結果セット全体をテーブルタイプに格納する必要があります。

select  distinct(meterid) 
from pseb.consumerfeedermetermapper 
where feederid in (select distinct (fm.FeederID) 
                   from pseb.feedermaster fm,pseb.consumerfeedermetermapper cfm
                   where fm.substationid=v_v_type
                   and cfm.feederid=fm.feederid
                   and cfm.FeederID>0)
 and meterid >0
 order by meterid;

私がそれをするのを手伝ってください。

4

3 に答える 3

1

BULK COLLECT を使用して、データをその型の変数に選択します。

declare
  mt metertable;
begin
  select  distinct(meterid) 
  bulk collect into mt
  from pseb.consumerfeedermetermapper 
  where feederid in (select distinct (fm.FeederID) 
                     from pseb.feedermaster fm,pseb.consumerfeedermetermapper cfm
                     where fm.substationid=v_v_type
                     and cfm.feederid=fm.feederid
                     and cfm.FeederID>0)
  and meterid >0
  order by meterid;

  -- Now use mt...
end;
于 2012-09-06T11:41:22.383 に答える