游标可以带参数吗?
如果可以带的话具体怎么用
我看到一段代码 
 CURSOR csrBaseData_
  (
    pHY IN T110.H%TYPE
  ) IS
    SELECT
     TIFB0110.*
    ,ROW_NUMBER() OVER (
              PARTITION BY HNo
              ORDER BY HNo,KNo
               ) RNum
    FROM T110
    WHERE T110.HY >= pHY
    ORDER BY HY, KNo;
  recBaseData_ csrBaseData_%ROWTYPE;
能帮我分析一下吗?

解决方案 »

  1.   

    cursor cursorname(varlist) is select statement
      

  2.   

    SQL> create or replace procedure test_var_cursor
      2  as
      3   cursor cv_emp(v_empno number)is select ename from emp where empno=v_empno;
      4   v_ename varchar2(20);
      5  begin
      6   open cv_emp(7369);
      7   fetch cv_emp into v_ename;
      8   dbms_output.put_line(v_ename);
      9   close cv_emp;
     10  end;
     11  /
     
    Procedure created
     
    SQL> set serveroutput on
    SQL> exec test_var_cursor;
     
    SMITH
     
    PL/SQL procedure successfully completed
     
    SQL> 
      

  3.   

    这样,可能更符合实际些.SQL> create or replace procedure test_var_cursor(i_ename varchar)
      2  as
      3   cursor cv_emp(v_empno number)is select ename from emp where empno=v_empno;
      4   v_ename varchar2(20);
      5  begin
      6   open cv_emp(i_ename);
      7   fetch cv_emp into v_ename;
      8   dbms_output.put_line(v_ename);
      9   close cv_emp;
     10  end;
     11  /
     
    Procedure created
     
    SQL> set serveroutput on
    SQL> exec test_var_cursor(7369);
     
    SMITH
     
    PL/SQL procedure successfully completed
     
    SQL>