对PLSQL的SQL%NOTFOUND的再验证

简介:

开始

想要知道,是否在一条SQL执行完毕之后,有否机会在接下来的程序运行段看SQL%NOTFOUND的值。

事实上,它立即跳到了异常段。

复制代码
SET SERVEROUTPUT ON;
DECLARE 
  v_ename emp.ename%TYPE;
  e_norecord EXCEPTION;
  PRAGMA EXCEPTION_INIT (e_norecord, -20001);

  err_num NUMBER;
  err_msg VARCHAR2(100);

BEGIN
  
  SELECT ename INTO v_ename FROM emp where empno=3000;
  
  IF SQL%NOTFOUND THEN
     DBMS_OUTPUT.PUT_LINE('I can not found!');
     RAISE_APPLICATION_ERROR(-20001,'No records found!');
  END IF;

EXCEPTION
  WHEN e_norecord THEN
      DBMS_OUTPUT.PUT_LINE('Yes! No records found!!');

  WHEN OTHERS THEN
      err_num := SQLCODE;
      err_msg := SUBSTR(SQLERRM, 1, 100);
      DBMS_OUTPUT.PUT_LINE(err_msg||err_num);
END;
复制代码

运行的结果:

anonymous block completed
ORA-01403: no data found100

结束





本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/archive/2012/11/23/2784471.html,如需转载请自行联系原作者

目录
相关文章
|
6月前
|
SQL 关系型数据库 MySQL
MySQL数据库——索引(5)-索引使用(上),验证索引效率、最左前缀法则、范围查询、索引失效情况、SQL提示
MySQL数据库——索引(5)-索引使用(上),验证索引效率、最左前缀法则、范围查询、索引失效情况、SQL提示
76 0
pl sql 查看历史执行过的sql记录
pl sql 查看历史执行过的sql记录
|
SQL 数据库 数据安全/隐私保护
学生管理系统——连接SQL验证用户名与密码的流程
学生管理系统——连接SQL验证用户名与密码的流程
|
SQL 安全 数据库
SQL Server 2005 Windows验证如何改为混合模式验证
SQL Server 2005 Windows验证如何改为混合模式验证
292 0
|
SQL Oracle 关系型数据库
在plsql , sql语句中带有中文的查询条件查询不到数据
在plsql , sql语句中带有中文的查询条件查询不到数据
505 0
在plsql , sql语句中带有中文的查询条件查询不到数据
|
SQL Oracle 关系型数据库
Java 技术篇 - java同时连接多种数据库执行sql语句的兼容性验证,数据库类型包括:oracle、sqlserver、DB2、人大金仓、达梦、PG、瀚高、polardb
Java 技术篇 - java同时连接多种数据库执行sql语句的兼容性验证,数据库类型包括:oracle、sqlserver、DB2、人大金仓、达梦、PG、瀚高、polardb
853 0
Java 技术篇 - java同时连接多种数据库执行sql语句的兼容性验证,数据库类型包括:oracle、sqlserver、DB2、人大金仓、达梦、PG、瀚高、polardb
|
SQL Oracle 关系型数据库
PL/SQL 工具远程连接Oracle数据库方法,plsql免安装oracle客户端直接配置oci实战演示
PL/SQL 工具远程连接Oracle数据库方法,plsql免安装oracle客户端直接配置oci实战演示
406 0
PL/SQL 工具远程连接Oracle数据库方法,plsql免安装oracle客户端直接配置oci实战演示
|
SQL Oracle 关系型数据库
20180417PLSQL中sql语句格式化与注解问题
[20180417]PLSQL中sql语句格式化与注解问题.txt --//以前的测试:http://blog.itpub.net/267265/viewspace-748190/ --//今天发现一些注解也被过滤掉,还是通过例子来说明问题.
1309 0
|
SQL Oracle 关系型数据库
下一篇
无影云桌面