1.使用游标基本用法:
DECLARE
r_emp emp%ROWTYPE; --该类型为emp表中一行的类型
cursor c_emp is SELECT * FROM emp ;
BEGIN
OPEN c_emp;
LOOP
FETCH c_emp into r_emp; --游标中查询出来的一行into进定义的变量r_emp中
EXIT WHEN c_emp%NOTFOUND;
dbms_output.put_line('员工姓名:' || r_emp.ename );
END LOOP;
CLOSE c_emp;
END;
2.带参数的游标用法:
DECLARE
r_emp emp%ROWTYPE; --该类型为emp表中一行的类型
cursor c_emp(v_no number) is SELECT * FROM emp where deptno = v_no;
BEGIN
OPEN c_emp(20); --给v_no传参20
LOOP
FETCH c_emp into r_emp ; --游标中查询出来的一行into进定义的变量r_emp中
EXIT WHEN c_emp%NOTFOUND;
dbms_output.put_line('员工姓名:' || r_emp.ename );
END LOOP;
CLOSE c_emp;
END;
3.for循环游标:
DECLARE cursor c_emp is SELECT * FROM emp ;
BEGIN
for r_emp in c_emp
LOOP
dbms_output.put_line('员工姓名:' || r_emp.ename );
END LOOP;
END;