カーソルにいくつかの情報を選択し、そのカーソルでいくつかの更新を実行する ORACLE ストアド プロシージャを作成しようとしています。次に、カーソルの内容を返します。これは、一時テーブルの作成とそのクエリの実行を含む現在のセットアップから離れるためです。
私が試したすべての結果、カーソルの内容が、実行したい更新などの範囲外になりました..
基本的に私はしようとしています:
- いくつかのデータを選択
- その上でいくつかの処理を行います
- 処理されたデータの一部を返します (選択に基づく)
助けてください!
私の現在のコードは、次の行に沿っています。
create or replace
PROCEDURE TEMP_REPORT
(
returnTable OUT SYS_REFCURSOR
)
IS
CURSOR resultTable
IS
SELECT FNAME,SALARY FROM STAFF;
NAME VARCHAR2 (10);
SALARY VARCHAR2 (10);
BEGIN
Update resultTable set Salary = (salary * 1.1);
--- some more processing here
---- now return the datarows
Cursor returnTable from select name, salary from resultTable where salary > 1000;
END TEMP_REPORT;