本文主要介绍的是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
lishixinzhi/Article/program/Oracle/201311/18889
在存储过程里,直接执行
select from table where area ="变量名"或者"字段"
具体area是啥类型?
在存储过程里,看你是不是需要传参了,如果需要就定义一下。
不需要就是直接调用某个字段就行了
以上就是关于Oracle游标提取相关的数据的语法介绍全部的内容,包括:Oracle游标提取相关的数据的语法介绍、在c语言中定义游标中有一段代码:select...from...where area = \'%d、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)