oracle 游标判空方法

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 游标判空步骤相关推荐

  1. oracle 查找非中文,Oracle中如何判断一个字符串是否含有汉字

    看到网友问,怎么查询表中某个字段数据是不是包含了全角字符啊? 这个问题涉及到几个函数:to_single_byte.length和lengthb,我之前做开发的时候研究的是如何判断一个字符串中是否包含 ...

  2. 求求你不要在用!=null判空了

    作者:诗意凌风 | http://suo.im/5t3akh 导语 在没有用Optional判空之前,你是否也像下面的代码一样判空呢?如果是,请往下看,Optional 相对传统判空的优势. java ...

  3. Java Optional容器判空处理

    Java Optional容器判空处理 1. Java判空概述 2. Java判空方式 2.1 普通判空方式 2.2 Optional判空方式 1. Java判空概述 Java判空方式有很多多,可以i ...

  4. MyBatis使用if判空(案例详解)

    [辰兮要努力]:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行! 博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端.后台.数据 ...

  5. oracle 游标的替代,Oracle中replace函数和translate函数以及简单的游标

    简要比较: replace:字符串级别的代替 如:SELECT REPLACE('acdd','cd','ef') FROM dual; →aefd translate:字符级别的代替 如:SELEC ...

  6. Oracle 快速入门 PL/SQL游标

    目录 一.PL/SQL概念: ①数据类型: ②逻辑比较: ③控制语句: ④循环语句:有三种: 顺序语句:goto 标名--<<标名>>        ⑤异常: ⑥函数: 二.P ...

  7. oracle 游标查询数据库,Oracle数据库使用游标查询结果集所有数据

    --Oracle使用游标查询结果集所有数据 DECLARE myTabelName NVARCHAR2(200):=''; --表名 myTableRowComment NVARCHAR2(200): ...

  8. oracle游标声明中使用变量赋值,Oracle游标使用方法(游标里使用变量绑定)

    来源:http://www.jzxue.com/shujuku/oracle/200910/01-2839.html 游标(CURSOR)也叫光标,在关系数据库中经常使用,在PL/SQL程序中可以用C ...

  9. 【Oracle】PL/SQL 显式游标、隐式游标、动态游标

    在PL/SQL块中执行SELECT.INSERT.DELETE和UPDATE语句时,Oracle会在内存中为其分配上下文区(Context Area),即缓冲区.游标是指向该区的一个指针,或是命名一个 ...

最新文章

  1. 卷积神经网络初探 | 数据科学家联盟 http://dataunion.org/20942.html
  2. DeFi协议TrueFi:TRU/ETH流动性挖矿将从Uniswap迁移至SushiSwap
  3. 超声乳化设备行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  4. python 打印类型_让Python输出更漂亮:PrettyPrinter
  5. 【C#】反射与面向接口的架构
  6. 高并发、高访问量如何计算【测试评估】
  7. 4款开源的中文分词系统
  8. python静默打印pdf
  9. P2010 [NOIP2016 普及组] 回文日期
  10. linux查网卡物理地址,网卡MAC地址查询方法
  11. 【2017年中总结】——半饱
  12. java中什么叫服务?
  13. 如何获得指定进程的主窗口
  14. 面试经验(互联网,研究所,国企)
  15. css代码大全,方便保存
  16. 好的网站内容文章是网站发展的动力
  17. ibm服务器日常维护,《七小服公开课》IBM P780日常维护
  18. 无人停车场运行收费系统
  19. CAS单点登录原理解析及相关配置
  20. PHP imagick安装与配置

热门文章

  1. 地产大亨大富翁 for Mac策略图版游戏
  2. 如何用html调用网页中的视频,如何将网页视频播放器调用换成西瓜影音 西瓜影音网页调用说明以及网页调用代码...
  3. 朦朦胧胧的耍酷薄雾如同轻纱一般环绕在我们周围
  4. a人工智能b大数据c云计算_ABC = 人工智能 + 大数据 + 云计算
  5. USB各类设备描述符(usb device enumeration descriptors)
  6. 期货交易入门流程(期货交易入门书籍)
  7. 74HC165级联编程篇(四)
  8. 车辆安全分为主动安全和被动安全
  9. 自定义view高仿稀土掘金loading闪动字体效果
  10. 如何办理医疗器械经营许可证?