Stored procedures 打开带有输入变量的select语句的游标

Stored procedures 打开带有输入变量的select语句的游标,stored-procedures,oracle11g,cursor,packages,Stored Procedures,Oracle11g,Cursor,Packages,我的包中有两个游标。第一个光标没有输入参数,因此我成功地按如下方式打开了它: 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

我的包中有两个游标。第一个光标没有输入参数,因此我成功地按如下方式打开了它:

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;
但是我的第二个游标有一个输入参数,我不能:

 OPEN c2 (vMyName varchar2) for select .....
由于此错误:

Found Varhcar2 Expecting : ) and -or...

我真的可以这样打开光标吗?我该怎么办?

您只需执行以下操作:

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;

德语或其他语言的人:(是的,对不起,我的错…但我不认为这对解决特定问题有帮助…:-/Parameter
c2
应该是OUT变量。
c2 OUT SYS\u REFCURSOR
。谢谢,我已经解决了这个问题。