create or replace package TAL_TEST is
TYPE myCursorType IS REF CURSOR;
--测试空游标
PROCEDURE p_testEmptyCursor;
end TAL_TEST;
create or replace package body TAL_TEST is
--测试空游标
PROCEDURE p_testEmptyCursor
IS
rowRecord SJ_CD_PERIODS%ROWTYPE;
myCursorFirst myCursorType ;
myCursorSecond myCursorType;
myCursorThird myCursorType;
myCursorForth myCursorType;
BEGIN
--使用notfound(失败) 数据库中不存在限制条件下的数据集
OPEN myCursorFirst FOR
SELECT A.* FROM SJ_CD_PERIODS A WHERE A.FPERIODID = '1001' ;
IF myCursorFirst%notfound THEN
dbms_output.put_line('数据库中不存在FPERIODID为1001的数据集');
ELSE
dbms_output.put_line('数据库中存在FPERIODID为1001的数据库');
END IF;
--使用ROWCOUNT(失败)数据库中存在限制条件下的数据集
OPEN myCursorSecond FOR
SELECT A.* FROM SJ_CD_PERIODS A WHERE A.FPERIODID = '20112012141202260210001003001002002';
IF myCursorSecond%ROWCOUNT = 0 THEN
dbms_output.put_line('数据库中不存在FPERIODID为20112012141202260210001003001002002的数据集');
ELSE
dbms_output.put_line('数据库中存在FPERIODID为20112012141202260210001003001002002的数据集');
END IF;
--使用FETCH(成功)数据库中存在限制条件下的数据集
OPEN myCursorThird FOR
SELECT A.* FROM SJ_CD_PERIODS A WHERE A.FPERIODID = '20112012141202260210001003001002002';
FETCH myCursorThird INTO rowRecord;
IF myCursorThird%NOTFOUND THEN
dbms_output.put_line('数据库中不存在FPERIODID为20112012141202260210001003001002002的数据集');
ELSE
dbms_output.put_line('数据库中存在FPERIODID为20112012141202260210001003001002002的数据集');
END IF;
--使用FETCH(成功)数据库中不存在限制条件下的数据集
OPEN myCursorForth FOR
SELECT A.* FROM SJ_CD_PERIODS A WHERE A.FPERIODID = '1001';
FETCH myCursorForth INTO rowRecord;
IF myCursorForth%NOTFOUND THEN
dbms_output.put_line('数据库中不存在FPERIODID为1001的数据集');
ELSE
dbms_output.put_line('数据库中存在FPERIODID为1001的数据集');
END IF;
END;
end TAL_TEST;
myCursorFirst:
--使用notfound(失败) 数据库中不存在限制条件下的数据集
OPEN myCursorFirst FOR
SELECT A.* FROM SJ_CD_PERIODS A WHERE A.FPERIODID = '1001' ;
IF myCursorFirst%notfound THEN
dbms_output.put_line('数据库中不存在FPERIODID为1001的数据集');
ELSE
dbms_output.put_line('数据库中存在FPERIODID为1001的数据库');
END IF;
myCursorSecond:
--使用ROWCOUNT(失败)数据库中存在限制条件下的数据集
OPEN myCursorSecond FOR
SELECT A.* FROM SJ_CD_PERIODS A WHERE A.FPERIODID = '20112012141202260210001003001002002';
IF myCursorSecond%ROWCOUNT = 0 THEN
dbms_output.put_line('数据库中不存在FPERIODID为20112012141202260210001003001002002的数据集');
ELSE
dbms_output.put_line('数据库中存在FPERIODID为20112012141202260210001003001002002的数据集');
END IF;
myCursorThird
--使用FETCH(成功)数据库中存在限制条件下的数据集
OPEN myCursorThird FOR
SELECT A.* FROM SJ_CD_PERIODS A WHERE A.FPERIODID = '20112012141202260210001003001002002';
FETCH myCursorThird INTO rowRecord;
IF myCursorThird%NOTFOUND THEN
dbms_output.put_line('数据库中不存在FPERIODID为20112012141202260210001003001002002的数据集');
ELSE
dbms_output.put_line('数据库中存在FPERIODID为20112012141202260210001003001002002的数据集');
END IF;
myCursorForth:
--使用FETCH(成功)数据库中不存在限制条件下的数据集
OPEN myCursorForth FOR
SELECT A.* FROM SJ_CD_PERIODS A WHERE A.FPERIODID = '1001';
FETCH myCursorForth INTO rowRecord;
IF myCursorForth%NOTFOUND THEN
dbms_output.put_line('数据库中不存在FPERIODID为1001的数据集');
ELSE
dbms_output.put_line('数据库中存在FPERIODID为1001的数据集');
END IF;
分享到:
相关推荐
Oracle 游标概述 Oracle 游标是 Oracle 数据库中的一种重要概念,用于查询数据库,获取记录集合(结果集)的指针。游标可以看作是一个临时表,你可以对其每一行的数据进行任意的操作。本文将对 Oracle 游标的概念、...
Oracle 游标使用方法及语法大全 Oracle 游标是 PL/SQL 程序中的一种重要组件,用于处理查询结果集。游标可以分为隐式游标和显式游标两种,隐式游标由 PL/SQL 管理,隐式游标打开时查询开始,查询结束时隐式游标自动...
在Oracle数据库中,游标(Cursor)是一种非常重要的编程工具,尤其在处理复杂的数据操作时。游标允许我们逐行处理查询结果,这对于迭代、条件判断或者数据更新等任务非常实用。下面,我们将深入探讨Oracle游标的使用...
### Oracle游标使用详解 #### 一、游标概述 游标是Oracle数据库中用于处理查询结果集的强大工具,尤其适用于需要逐行处理查询结果的情况。...掌握游标的使用方法对于任何Oracle开发者而言都是必备技能。
Oracle游标是数据库编程中非常重要的一个概念,主要用于处理SQL查询的结果集。游标允许我们按行处理数据,逐条读取结果集,而不仅仅是一次性获取所有数据。在Oracle数据库中,游标对于复杂的事务处理、动态SQL以及...
### Oracle游标使用详解 #### 一、Oracle游标简介 在Oracle数据库中,游标是一种重要的机制,用于处理查询结果集。它允许用户通过PL/SQL编程语言逐行访问和处理查询返回的数据记录。游标可以是显式定义的(即在...
Oracle 游标是PL/SQL编程中不可或缺的一部分,它们允许程序员逐行处理查询结果,而不仅仅是获取单一数据点。在Oracle数据库中,游标主要用于在循环或其他控制结构中操作多行数据,使得处理复杂的数据操作变得更为...
Oracle游标是数据库编程中非常重要的一个概念,它允许开发者逐行处理查询结果集,而不仅仅是一次性处理所有数据。在Oracle中,游标分为隐式游标和显式游标。 **一、游标简介** 游标的核心功能是提供一种方式来遍历...
根据提供的标题、描述以及部分代码内容,我们可以详细探讨Oracle游标的使用方法,特别是明确游标(Explicit Cursor)和隐式游标(Implicit Cursor)的区别及其具体应用方式。 ### Oracle游标简介 在Oracle数据库中...
### Oracle游标使用及实例详解 #### 一、Oracle游标概述 在Oracle数据库中,游标(Cursor)是一种用于处理SQL查询结果集的方式。它允许用户逐行地读取和处理查询结果,这对于需要对每一行数据进行特定操作的情况非常...
掌握游标的正确使用方法对于编写高效的数据库操作程序至关重要。 通过本篇Oracle游标的使用大全,我们可以了解到Oracle数据库游标的类型、属性以及如何在PL/SQL中实现对数据集的逐行处理。这不仅有助于提升程序员的...
本文详细介绍了Oracle游标的使用方法,包括如何声明、打开游标,如何使用变量与类型匹配,以及如何处理异常情况等。通过这些知识点的学习,读者可以更好地理解和应用Oracle游标,提高开发效率和代码质量。此外,还...
这篇文档《Oracle 游标使用大全》应该涵盖了关于Oracle游标的各种使用方法和最佳实践。 1. **游标的定义与类型** - 游标(Cursor)是数据库系统中一个概念,用于跟踪查询结果集中的当前位置。 - Oracle游标有两种...
【Oracle游标的使用方法】 Oracle游标是数据库管理系统中用于处理SQL语句的重要工具,它允许程序逐行处理查询结果,而不是一次性加载所有数据。游标由上下文区支持,这是一个内存区域,存储了处理SQL语句所需的信息...
### Oracle游标优化 ...通过上述方法,可以在一定程度上优化Oracle游标的性能,从而提高应用程序的整体响应时间和资源利用率。需要注意的是,每种优化策略都应该根据具体的业务需求和技术环境来选择和实施。
### Oracle游标详解 在Oracle数据库中,游标(Cursor)是处理数据集的一个关键机制,主要用于执行查询并逐行处理结果集。游标可以被视为一个临时存储区,用于保存SELECT语句的结果集,允许程序对这些结果进行迭代...