ORACLE SELECT INTO 防止没结果时报错

如下:

  BEGIN
    SELECT name
      into v_name
      FROM t_student
     WHERE id = '101'
  EXCEPTION
    WHEN NO_DATA_FOUND THEN
      v_name := '';
  END;

这样,就不用提前先select count(1) from t_student where id = ‘101‘;进行判断是否为空了。

上面的捕获异常只会处理没有数据时的错误,如果多于一条的错误,可以再用OTHERS进行捕获

  BEGIN
    SELECT name
      into v_name
      FROM t_student
     WHERE id = '101'
  EXCEPTION
    WHEN NO_DATA_FOUND THEN
      v_name := '';
      WHEN OTHERS THEN
      v_name := '多于一条啦';
  END;
时间: 2024-10-09 22:26:13

ORACLE SELECT INTO 防止没结果时报错的相关文章

oracle select in超过1000条报错解决方法

本博客介绍oracle select in超过1000条数据的解决方法,java框架是采用mybatis的,这可以说是一种比较常见的错误:select * from A where id in(...),oracle官方函数做了限定,in里的参数只能1000个,所以超过1000个参数就会报错,解决方法是将集合分为每个集合1000的小集合,然后用or拼起来select * from A where id in(1,2,...,1000) or id in (1001,1002,2000)...,好

oracle[insert 时报错: 单行子查询返回多行]

-- 错误的写法 insert into t_b_partner_vehicle(id, partner_id, vehicle_id) (seq_t_b_partner_vehicle.nextval,121, (select id from t_b_car_info where org_id in(1441,1427))) -- Error 单行子查询返回多行 -- 正确的写法 insert into t_b_partner_vehicle(id, partner_id, vehicle_i

使用PLSql连接Oracle时报错ORA-12541: TNS: 无监听程序

今天用plsql连接oracle的时候报了无监听程序,寻思是plsql的问题,可惜重装了也没什么卵用,才把注意力集中到oracle服务上,啥也不说了, 直接上链接: 使用PLSql连接Oracle时报错ORA-12541: TNS: 无监听程序

oracle biee 11g客户端连接OCI 10g/11g数据源时报错

OBIEE 11g BI 管理工具 连接OCI 10g/11g数据源时报错[连接失败] OBIEE 11g Client Admin Tool Connection To Datasource In Offline Mode Fails With Error "The Connection Has Failed 使用OBIEE 11g BI 管理工具 导入元数据,连接OCI 10g/11g数据源时,点击连接会报错[连接失败],如下图:   参考了Oracle NotesOBIEE 11g Cli

Mybatis Oracle 更新时报错17090

更新数据库时报错 查看数据库里的数据是已经更新了 . 我开始用的是注解@Update("......")调试了好久都找不到原因,因为单独执行更新语句是正确的,在项目里运行,数据也能更新成功,后来将注解换成Mybatis的XML格式,就不再报错了.

ORA-01843的错误 插入日期数据时报错

当我在SQLPLUS执行 : INSERT INTO customers ( customer_id, first_name, last_name, dob, phone ) VALUES ( 5, 'Doreen', 'Blue', '20-MAY-1970', NULL ); 出现 "ORA-01843: 无效的月份 "这个错误. Google之后找到下面的这篇文章,其中说先执行alter session set nls_date_language='american'  然后再执

(转)svn执行clean up命令时报错“Previous operation has not finished; run 'cleanup' if it was interrupted”

今天碰到了个郁闷的问题,svn执行clean up命令时报错“Previous operation has not finished; run 'cleanup' if it was interrupted”.无论你到那个父层次的目录执行“clean up “,都是报一样的错.执行cleanup时候,提示要cleanup.看来是进入死循环了. 可能是频繁做了一些改名,文件打开的时候更新或者提交操作,导致svn罢工了.这个也该算是svn的bug吧.类似的情况,其实之前也碰到过.之前都是图省事,把整

【翻译自mos文章】从远程机器连接到windows上的db时报错ora-12170

从远程机器连接到windows上的db时报错ora-12170 参考原文: Windows: ORA-12170 Attempting to Connect from Remote Client (Doc ID 748461.1) 适用于: Oracle Net Services - Version 9.2.0.1 to 11.2.0.3 [Release 9.2 to 11.2] z*OBSOLETE: Microsoft Windows Generic Windows Microsoft W

解决ThinkPHP关闭调试模式时报错的问题汇总

解决ThinkPHP关闭调试模式时报错的问题汇总 案例一: 最近用ThinkPHP开发一个项目,本地开发测试完成上传到服务器后,第一次打开正常,再刷新页面时就出现 "页面调试错误,无法找开页面,请重试"的错误. 明明本地设置define('APP_DEBUG', false) 运行没点问题,怎么放到服务器上就出错了昵? baidu,Google还是没有找到解决方案,突然发现项目APP_Name/Runtime/Cache目录和APP_Name/Runtime/Logs目录没有可写权限,