--Oracle使用游标查询结果集所有数据
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;
参考原文