DECLARE TYPE EmpCurTyp ISREF CURSOR; c EmpCurTyp; emp_rec emp%ROWTYPE; stmt_str VARCHAR2(200); e_job emp.job%TYPE;
BEGIN stmt_str :='SELECT * FROM emp WHERE job = :1'; -- in a multi-row query
OPEN c FOR stmt_str USING'MANAGER'; LOOP FETCH c INTO emp_rec; EXIT WHEN c%NOTFOUND; END LOOP; CLOSE c; -- in a single-row query
EXECUTEIMMEDIATE stmt_str INTO emp_rec USING'PRESIDENT';
END; /
在上面的代码中,
stmt_str :='SELECT * FROM emp WHERE job = :1';是一个带参数的字符串,下一个语句OPEN c FOR stmt_str USING'MANAGER';中把参数值赋为'MANAGER'打开游标,然后就可以使用游标对结果集进行遍历。 当然DBMS