有没有一种方法可以从显式游标中进行选择,而不必使用带有IF
条件的循环来过滤游标?
换句话说,如果我有以下光标...
CURSOR cur_emp IS
SELECT * FROM emp;
是否可以执行以下操作?
DECLARE
v_row cur_emp%ROWTYPE;
BEGIN
SELECT * INTO v_row FROM cur_emp WHERE id_emp < 10;
/* Do something */
END;
答案 0 :(得分:2)
否,而是改为更改光标
CURSOR cur_emp(iEmpid in emp.id_emp%TYPE) IS
SELECT * FROM emp
WHERE id_emp < iEmpid;
和
for rEmp in cur_emp(10) loop
-- do something
end loop;
OR
跳过光标,然后将小洞内容放入for循环中,同样有效。
for rEmp in (SELECT * FROM emp WHERE id_emp < 10) loop
-- do something
end loop;