知识大全 Oracle游标提取相关的数据的语法介绍
Posted 知
篇首语:少年乘勇气,百战过乌孙。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle游标提取相关的数据的语法介绍相关的知识,希望对你有一定的参考价值。
Oracle游标提取相关的数据的语法介绍 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
本文主要介绍的是Oracle游标提取相关的数据的实际操作方案 首先我们要从Oracle游标中得到一行相关的数据 我个人提议你使用FETCH命令 当每一次提取数据后 Oracle游标都指向结果集的下一行 语法如下
FETCH cursor_name INTO variable[ variable ]
对于SELECT定义的Oracle游标的每一列 FETCH变量列表都应该有一个变量与之相对应 变量的类型也要相同
例
SET SERVERIUTPUT ON
DECLARE
v_ename EMP ENAME%TYPE;
v_salary EMP SALARY%TYPE;
CURSOR c_emp IS SELECT ename salary FROM emp;
BEGIN
OPEN c_emp;
FETCH c_emp INTO v_ename v_salary;
DBMS_OUTPUT PUT_LINE( Salary of Employee || v_ename
|| is || v_salary);
FETCH c_emp INTO v_ename v_salary;
DBMS_OUTPUT PUT_LINE( Salary of Employee || v_ename
|| is || v_salary);
FETCH c_emp INTO v_ename v_salary;
DBMS_OUTPUT PUT_LINE( Salary of Employee || v_ename
|| is || v_salary);
CLOSE c_emp;
END
这段代码无疑是非常麻烦的 如果有多行返回结果 可以使用循环并用Oracle游标属性为结束循环的条件 以这种方式提取数据 程序的可读性和简洁性都大为提高 下面我们使用循环重新写上面的程序
SET SERVERIUTPUT ON
DECLARE
v_ename EMP ENAME%TYPE;
v_salary EMP SALARY%TYPE;
CURSOR c_emp IS SELECT ename salary FROM emp;
BEGIN
OPEN c_emp;
LOOP
FETCH c_emp INTO v_ename v_salary;
EXIT WHEN c_emp%NOTFOUND;
DBMS_OUTPUT PUT_LINE( Salary of Employee || v_ename
|| is || v_salary);
END
cha138/Article/program/Oracle/201311/18889相关参考