本文主要介绍的是Oracle游标提取相关的数据的实际操作方案首先我们要从Oracle游标中得到一行相关的数据我个人提议你使用FETCH命令当每一次提取数据后Oracle游标都指向结果集的下一行语法如下
FETCH cursor_name INTO variable[variable]
对于SELECT定义的Oracle游标的每一列FETCH变量列表都应该有一个变量与之相对应变量的类型也要相同
例
SET SERVERIUTPUT ON
DECLARE
v_ename EMPENAME%TYPE;
v_salary EMPSALARY%TYPE;
CURSOR c_emp IS SELECT enamesalary FROM emp;
BEGIN
OPEN c_emp;
FETCH c_emp INTO v_enamev_salary;
DBMS_OUTPUTPUT_LINE(Salary of Employee|| v_ename
||is|| v_salary);
FETCH c_emp INTO v_enamev_salary;
DBMS_OUTPUTPUT_LINE(Salary of Employee|| v_ename
||is|| v_salary);
FETCH c_emp INTO v_enamev_salary;
DBMS_OUTPUTPUT_LINE(Salary of Employee|| v_ename
||is|| v_salary);
CLOSE c_emp;
END
这段代码无疑是非常麻烦的如果有多行返回结果可以使用循环并用Oracle游标属性为结束循环的条件以这种方式提取数据程序的可读性和简洁性都大为提高下面我们使用循环重新写上面的程序
SET SERVERIUTPUT ON
DECLARE
v_ename EMPENAME%TYPE;
v_salary EMPSALARY%TYPE;
CURSOR c_emp IS SELECT enamesalary FROM emp;
BEGIN
OPEN c_emp;
LOOP
FETCH c_emp INTO v_enamev_salary;
EXIT WHEN c_emp%NOTFOUND;
DBMS_OUTPUTPUT_LINE(Salary of Employee|| v_ename
||is|| v_salary);
END
以上的相关内容就是对Oracle游标提取数据的介绍望你能有所收获