参数游标是指带有参数的游标,在定义参数游标之后,当使用参数多次打开游标时,可以生成不同的结果集。
CURSOR cursor_name (parameter_name,data_type) IS select_statement;
注意:游标参数只能指定数据类型,不能指定长度。另外,定义参数游标,一定要在游标子查询where子语句中引用该参数,否则失去定义参数游标的意义。
eg.//输出 部门10的员工名称。
DECLARE
CURSOR emp_cursor(no NUMBER) IS
SELECT ename FROM emp where deptno = no;
v_ename emp.ename%TYPE;
BEGIN
OPEN emp_cursor(10);
LOOP
FETCH emp_cursor INTO v_ename;
EXIT WHEN emp_cursor%NOTFOUND;
dbms_output.put_line(v_ename);
END LOOP;
CLOSE emp_cursor;
END;
/