数据库编程中,select into 语句可以将数据库的某些值赋值给程序的变量,使用起来非常方便。但很多时候也会遇到查询出来没有记录的情况,这时程序会出错。

可以使用

exception
when NO_DATA_FOUND then

但是如merge into using 查不到时可以使用该方法;

merge into  web_user_vip wv using (select vip_type,id from(
select nvl(max(vip_type),0)vip_type ,nvl(max(id),0)id from web_user_vip where user_id = v_user_id and source = 2 and status =1 and
vip_type = v_vip_type)where rownum = 1)e on (e.vip_type = wv.vip_type)
when matched then
UPDATE SET wv.expire_time = v_expire_end_date where wv.id = e.id
when not matched then
insert(id,user_id,vip_type,expire_time,create_time,source,enterprise_id,status)
VALUES(xshtest.WEB_USER_VIP_SEQ.NEXTVAL,v_user_id,v_vip_type,v_expire_end_date,sysdate,2,v_enterprise_id,1);

看下面示例:

select 没有数据的时候:

select t.prj_type_id into :id from PRJ_C_TYPE t where t.prj_type_name='abc'

使用聚合函数后:

select nvl(max(t.prj_type_id),0) into :id from PRJ_C_TYPE t where t.prj_type_name='abc'

Oracle:select into 查询没有记录的解决办法的更多相关文章

  1. Loadrunner参数化连接oracle、mysql数据源报错及解决办法

    Loadrunner参数化连接oracle.mysql数据源报错及解决办法 (本人系统是Win7 64,  两位小伙伴因为是默认安装lr,安装在 最终参数化的时候,出现连接字符串无法自动加载出来: 最 ...

  2. Oracle ORA-01033: ORACLE initialization or shutdown in progress 错误解决办法

    Oracle ORA-01033: ORACLE initialization or shutdown in progress 错误解决办法 登陆数据库时提示 “ORA-01033”错误在命令窗口以s ...

  3. oracle执行update时卡死问题的解决办法

    原因: 由于在PLSQL Developer执行update时没有commit,oracle将该条记录锁住了. 可以通过以下办法解决: 先查询锁定记录 Sql代码 SELECT s.sid, s.se ...

  4. 【Oracle】ORA-28000: the account is locked-的解决办法

    ORA-28000: the account is locked第一步:使用PL/SQL,登录名为system,数据库名称不变,选择类型的时候把Normal修改为Sysdba;第二步:选择myjob, ...

  5. 对于Access数据库查询遇到空值的解决办法

    1.Access数据库在office环境下对于null是识别的,但是,在开发环境下,Access数据库对于where xxx is null是不识别的. 2.查询空值解决办法:select * fro ...

  6. select into from 和 insert into select 的区别和用法及 SQL SELECT INTO 中Undeclared variable错误解决办法

    今天试了一下数据表中的数据备份到另一个空的数据表,然后使用了SQL SELECT INTO语句,然后提示Undeclared variable......错误,现在在这里做下总结并给出解决办法. 应用 ...

  7. Oracle Goldengate REPLICAT启动时报正在运行解决办法

    stop replicate时报ERROR: opening port for REPLICAT MYREP (TCP/IP error: Connection refused). start rep ...

  8. ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开ORACLE企业管理器(EM)的解决办法

    环境:win7 64位系统. 软件:oracle11g database ,oracle 10g client . 问题描述:在win7 64位系统下安装oracle11g,在创建数据库时,进度到85 ...

  9. 远程登录oracle 12.2数据库报错ORA-28040解决办法

    今天新安装的oracle 12.2.0.1数据库,通过本地sqlplus远程登录12c数据库报错ora-28040,如下: ORA-28040: No matching authentication ...

随机推荐

  1. jenkins_jmeter配置

    echo "job begin" date export current_time=`date "+%Y%m%d_%H%M%S"` mkdir -p ${WOR ...

  2. Tomcat系列(1)——Tomcat安装配置

    核心步骤 1. 安装JAVA(因为tomcat依赖于java) 配置:JAVA_HOME D:\Program Files (x86)\Java\jdk1.7.0 path  %JAVA_HOME%\ ...

  3. Promise库

    标准 https://promisesaplus.com/ An open standard for sound, interoperable JavaScript promises—by imple ...

  4. photoshop关于图层的一些操作,几乎全部操作

    千里之行始于足下,ps如果想要有上升的空间,还是扎实基础,自从看了那本phshop从入门到精通就很少学了,也错过了很多知识,其实还是有很多的不明白.期待进一步的思考和解惑. 首先来说第一个知识点: 1 ...

  5. NIPS2017-The neural hawks process

    NIPS2017哪些论文值得关注 论文链接 1.首先这篇文章研究的是 event stream,什么是event stream呢 ? 假如你是一个医生,你每天会看到很多病人 ,对于每一个病人,你都有他 ...

  6. Hper-V卸载

    1.txt文件输入以下内容,后缀改为cmd,以管理员身份执行 mountvol X: /s copy %WINDIR%\System32\SecConfig.efi X:\EFI\Microsoft\ ...

  7. sleep、wait、notify、notifyAll的区别

    Sleep 和wait 1. sleep是Thread类的静态方法,wait是Object类中定义的方法2. Thread.sleep不会导致锁行为的改变,如果当前线程是拥有锁的,那么Thread.s ...

  8. selenium定位方式-获取标签元素:find_element_by_xxx

    定位方式取舍# 唯一定位方式.多属性定位.层级+角标定位(离目标元素越近,相对定位越好) # 推荐用css selector(很少用递进层次的定位)# 什么时候用xpath呢? 当你定位元素时,必须要 ...

  9. es集群数据库~运维相关

    一 数据同步方案  1 ES-JDBC  不能实现删除同步操作.MYSQL如果删除,ES不会删除  2 logstash-input-jdbc  能实现insert update,但是仍然不能实现删除 ...

  10. 软件测试面试必问--bug交互流程

    目前市场主要用的bug管理工具:禅道.jira.QC.bugfree等,当然也有自己公司开发的. 不过不管哪一种工具,核心交互流程都是差不多的,只是字段的名称不一样而已,参考如下两张示意图: 这是前几 ...