oracle 游标(oracle游标查询)
--Oracle使用游标查询结果集所有数据,对于DML语句和单行select into ,oracle自动分配隐形游标。处理select返回多行语句,可以使用显式游标。
DECLARE
myTabelName NVARCHAR2(200):=''; --表名
myTableRowComment NVARCHAR2(200):=''; --行内容
result VARCHAR2(2000):=''; --结果
CURSOR myCursor IS SELECT * FROM 结果集(表名/视图名/查询结果) ORDER BY (结果集中的列名);--定义游标
myRecord myCursor%ROWTYPE; --定义游标记录类型
BEGIN
OPEN myCursor; --打开游标
IF myCursor %ISOPEN THEN --判断打开成功
---------------------游标打开成功 BEGIN
LOOP --循环获取记录集 BEGIN
FETCH myCursor into myRecord;
IF myCursor%FOUND THEN --游标的FOUND属性判断是否有记录
BEGIN
myTabelName:='TEC_PARTTEC';
myTableRowComment:=myRecord.ID||' '||myRecord.CREATEDATE||' '
||myRecord.CREATEUSER||' '||myRecord.ORGANIZATIONID||' '
||myRecord.PARTID||' '||myRecord.PROCESSTYPE||' '
||myRecord.VERSION||' '||myRecord.REMARK||' '
||myRecord.STATE;
result:='表名 '||myTabelName||' 列值 '||myTableRowComment;
result:=myTabelName||' '||myTableRowComment;
DBMS_OUTPUT.PUT_LINE(result);
END;
ELSE
EXIT; --游标中的记录为空 退出
END IF; --结束IF语句
END LOOP; --循环获取记录集 END
ELSE
DBMS_OUTPUT.PUT_LINE('游标没有打开');
END IF;
CLOSE myCursor;
END;
相关文章
- oracle层次查询
- Oracle中时间字段如果是varchar2类型可以不经过任何转换直接进行between查询
- Oracle数据库:oracle数据定义语言DDL,查询表、序列、索引、视图、创建表,修改表的列alter,rename to,删除表数据truncate和表drop
- Oracle数据库:oracle内连接inner join on,多表查询各种自链接、内连接、外连接的练习示例
- In Memory—Oracle 12C重要新特性IMO详解
- 深入Oracle优化器:一条诡异执行计划的解决之道
- oracle中的合并查询
- Oracle官方并发教程之中断
- [转]Oracle用户表空间临时表空间等查询
- oracle恢复broken的job,Oracle JOB异常中断原因分析
- oracle set命令详解
- Oracle一列的多行数据拼成一行显示字符
- 《Oracle PL/SQL必知必会》导读
- oracle使用TKPROF 工具来查询SQL性能状态
- oracle表复杂查询--多表查询
- oracle交互命令
- oracle一些常见的问题
- 转: Windows下安装Oracle Database 12c Release 1(12.1.0.2.0) - Enterprise Edition
- 完全卸载Oracle方法(超详细)
- oracle 切换ORACLE_SID cat /u02/oracle/product/11.2.0/network/admin/tnsnames.ora cd /u02/oracle/product/11.2.0/dbs
- Oracle基础学习2--Oracle登录与三种验证机制
- oracle级联操作
- oracle闪回查询
- Mybatis之Oracle增删查改示例--转
- Oracle 数据库管理员及管理员的作用
- Oracle 客户端管理软件安装
- Oracle:ORA-01219 数据库或可插入数据库未打开 仅允许在固定表或视图中查询
- oracle 使用 in 关键字查询且集合数量大小大于1000