我的包中有两个游标。第一个Cursor没有输入参数,所以我已成功打开它:
OPEN c1 for
SELECT foracid,
acct_name,
addr_1,
addr_2,
sol_desc,
city_code,
gam.FUTURE_UN_CLR_BAL_AMT
FROM tbaadm.gam,
tbaadm.sol
WHERE gam.sol_id = sol.sol_id
AND schm_type IN ('CAA','ODA','LAA')
AND schm_code NOT IN ('CTSTF');
CLOSE c1;
但我的第二个Cursor有一个输入参数,我不能这样做:
OPEN c2 (vMyName varchar2) for select .....
因为这个错误:
Found Varhcar2 Expecting : ) and -or...
我可以用这种方式打开这个光标,或者我应该怎么做?
答案 0 :(得分:1)
您可以执行以下操作:
create or replace procedure proc (c2 OUT SYS_REFCURSOR) AS
vMyName varchar2(100);
begin
vMyName := 'Some Value';
open c2 for
select col1, col2, col3
from tab1
where val = vMyName;
end;