数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

Oracle游标提取相关的数据的语法介绍


发布日期:2023年04月08日
 
Oracle游标提取相关的数据的语法介绍

本文主要介绍的是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游标提取数据的介绍望你能有所收获

               

上一篇:性能陷阱:Oracle表连接中范围比较

下一篇:Oracle 数据库中的 Empty String 处理