我正在尝试创建一个 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;