游标for循环示显示游标的一种快捷使用方式,它使用for循环依次读取结果集中的行数据,当form循环开始时,游标自动打开(不需要open),每循环一次系统自动读取游标当前行的数据(不需要fetch),当退出for循环时,游标被自动关闭(不需要使用close)使用游标for循环的时候不能使用open语句,fetch语句和close语句,否则会产生错误。
set serveroutput on;
declare
cursor mycur(vartype number)is
select emp_no,emp_zc from cus_emp_basic
where com_no=vartype;
begin
for person in mycur(000627) loop
dbms_output.put_line(%27雇员编号%27person.emp_no%27,地址%27person.emp_zc);
end loop;
end;
-------------------------------------------------------------------------
TYPE RawCurTyp IS REF CURSOR;
RAW_CV RawCurTyp;
SQL_STMT :='SELECT GET_DATE_FROM_MILLISECOND(MAX(DCTIME)) FROM '||RAW_TABLE
||' WHERE DCTIME>'||MTIME_S||' AND DCTIME<'||MTIME_E||' AND '||V_KPI_STR;
OPEN RAW_CV FOR SQL_STMT;
LOOP
FETCH RAW_CV INTO STOPTIME;
EXIT;
--EXIT WHEN RAW_CV%NOTFOUND;
-- process record
END LOOP;
CLOSE RAW_CV;
------------------------------------------------------------------------------
DECLARE
n1 number(10);
CURSOR c1
IS
SELECT * FROM TABLE (CAST (split (in_kpistring, ',') AS type_split));
r1 c1%ROWTYPE;
BEGIN
OPEN c1;
n1:=1;
LOOP
FETCH c1 INTO r1;
EXIT WHEN c1%NOTFOUND;
kpistring_1:=kpistring_1||',"'||r1.column_value||'"'||' '||'"指标'||n1||'" ';
n1:=n1+1;
END LOOP;
CLOSE c1;
END;
分享到:
相关推荐
oracle 游标FOR循环
Mysql游标(循环操作)
本篇文章给大家介绍oracle显示游标的使用及游标for循环,当查询返回单行记录时使用隐式游标,查询返回多行记录并逐行进行处理时使用显式游标,对本文感兴趣的朋友一起学习吧
游标for循环是在pl/sql块中使用游标最简单的方式,它简化了对游标的处理。当使用游标for循环时,oracle会隐含的打开游标,提取游标数据并关闭游标。
使用存储过程是想循环insert 数据库中查询出来的复杂结果集
游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或...
多维度查询时通常需要建立多个游标循环,查询效率无法得到保障,现在通过游标和substr()函数相结合的方式提高查询效率
带事物的游标循环,循环已有table,来实现游标循环,如有错误可以有效地回滚,对于初学者还是有所帮助。
游标造成的问题有很多,比如延长锁问题,无法缓存执行计划以及加大内存与CPU开销问题等。许多T-SQL程序员和DBA都不知道如何不使用游标而成功记录循环。在本文中,我将分享一些不使用游标而实现循环功能的方法
游标造成的问题有很多,比如延长锁问题,无法缓存执行计划以及加大内存与CPU开销问题等。许多T-SQL程序员和DBA都不知道如何不使用游标而成功记录循环。在本文中,我将分享一些不使用游标而实现循环功能的方法。
循环遍历逐行操作
游标循环数据库,游标循环数据库游标循环数据库游标循环数据库
SQL使用while循环 避免游标循环带来的消耗内存
declare cursor1 cursor for select *from bb --把查询数据给游标 fetch next from cursor1 into @id,@name -- 定义一个游标有两个变量 while @@fetch_status=0 --返回值成功的时候循环 以上是我个人的理解
Oracle 在模块中经常会使用游标进行数据相关操作,循环使用颇多。。。
本文举一个简单的例子来比较一些通过For..Loop读取游标和Open..Close的区别。
有关于oracle的循环游标的内容。