1

行のリスト(CustomersList)を含むものと、各行の列名(PriceGroups)を含むものとの2つのOracle refcursorsがあります。各行と列をループして、各行/列の交点を更新する必要があります。列カーソルを再配置して、最初の列から何度も開始するにはどうすればよいですか。テーブルは次のようになります

Customer   | pricegroupA | priceGroupB | priceGroupC | priceGroupEtc|
-----------+---------------------------------------------------------
aaaa       | 23.5        | 23.8        | 30.9        | 41.3         |
---------------------------------------------------------------------
bbbb       | 21.7        | 24.6        | 49.9        | 45.9         |
---------------------------------------------------------------------
....
4

1 に答える 1

2

あなたがたくさんのコードを共有していれば、私はあなたのためにそれを書き直すことができますが、次の例はあなたにとって役立つと思います.

declare
  type r_cursor is REF CURSOR;
  c_emp r_cursor;
  en emp.ename%type;
begin
   /*Opening the refCursor for the first time*/
   open c_emp for select ename from emp;
  loop
      fetch c_emp into en;
      exit when c_emp%notfound;
      dbms_output.put_line(en);
  end loop;
  /*Closing it*/  
  close c_emp;
 /*Opening the refCursor again after it is closed*/
  open c_emp for select ename from emp;
  loop
      fetch c_emp into en;
      exit when c_emp%notfound;
      dbms_output.put_line(en);
  end loop;
  close c_emp;
  /*Closing it again*/  
end;
于 2012-02-27T00:43:59.930 に答える