Oracle:select into 查询没有记录的解决办法
在数据库编程中,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 查询没有记录的解决办法的更多相关文章
- Loadrunner参数化连接oracle、mysql数据源报错及解决办法
Loadrunner参数化连接oracle.mysql数据源报错及解决办法 (本人系统是Win7 64, 两位小伙伴因为是默认安装lr,安装在 最终参数化的时候,出现连接字符串无法自动加载出来: 最 ...
- Oracle ORA-01033: ORACLE initialization or shutdown in progress 错误解决办法
Oracle ORA-01033: ORACLE initialization or shutdown in progress 错误解决办法 登陆数据库时提示 “ORA-01033”错误在命令窗口以s ...
- oracle执行update时卡死问题的解决办法
原因: 由于在PLSQL Developer执行update时没有commit,oracle将该条记录锁住了. 可以通过以下办法解决: 先查询锁定记录 Sql代码 SELECT s.sid, s.se ...
- 【Oracle】ORA-28000: the account is locked-的解决办法
ORA-28000: the account is locked第一步:使用PL/SQL,登录名为system,数据库名称不变,选择类型的时候把Normal修改为Sysdba;第二步:选择myjob, ...
- 对于Access数据库查询遇到空值的解决办法
1.Access数据库在office环境下对于null是识别的,但是,在开发环境下,Access数据库对于where xxx is null是不识别的. 2.查询空值解决办法:select * fro ...
- select into from 和 insert into select 的区别和用法及 SQL SELECT INTO 中Undeclared variable错误解决办法
今天试了一下数据表中的数据备份到另一个空的数据表,然后使用了SQL SELECT INTO语句,然后提示Undeclared variable......错误,现在在这里做下总结并给出解决办法. 应用 ...
- Oracle Goldengate REPLICAT启动时报正在运行解决办法
stop replicate时报ERROR: opening port for REPLICAT MYREP (TCP/IP error: Connection refused). start rep ...
- ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开ORACLE企业管理器(EM)的解决办法
环境:win7 64位系统. 软件:oracle11g database ,oracle 10g client . 问题描述:在win7 64位系统下安装oracle11g,在创建数据库时,进度到85 ...
- 远程登录oracle 12.2数据库报错ORA-28040解决办法
今天新安装的oracle 12.2.0.1数据库,通过本地sqlplus远程登录12c数据库报错ora-28040,如下: ORA-28040: No matching authentication ...
随机推荐
- TF用法指导
一.变量 1 .tf.Variables() 功能:创建变量 2.tf.get_variable() 功能:创建变量,注意和上面的区别 3.tf.variable_scope() 功能:其实只要记住一 ...
- 开放源代码的设计层面框架Spring——day04
spring第四天 一.Spirng中的JdbcTemplate 1.1JbdcTemplate概述 他是spring框架中提供的一个对象,是对原始Jd ...
- vue+element-ui实现显示隐藏密码
<template> <el-form :model="cuser_info" label-width="115px" label-posit ...
- Linux基础命令(三)——>文件过滤及内容编辑处理命令
1.cat 合并文件或查看文件内容 基本功能:cat test.txt 查看文件内容 也可以多文件显示 cat test1.txt test2.txt >test3.txt ...
- 简单的Web日志处理细节
- 这是一个蒟蒻的计划……QAQ
感觉像我这种拖拉的人很有可能是完成不了的,挂上来相当于监督我自己啦QWQ [学习计划] [√]1.去看Trie树!!! yyb学长的blog 2.KMP还有AC自动机 先贴两个链接在这里吧:KMP ...
- T-SQL实用查询之查询字段所属的数据库表
SELECT b.name as TableName,a.name as columnname From syscolumns a INNER JOIN sysobjects b ON a.id=b. ...
- Javamail pop3连接QQ邮箱遇到最深的坑
在使用pop3邮箱连接QQ邮箱接受邮件的时候遇到如下错误 Login fail. A secure connection is requiered(such as ssl) 此时按照错误提示添加如下配 ...
- mac charles手机抓包详细教程
1.官方下载charles 2.查看电脑IP地址 3.Proxy>Proxy Settings>勾选 Enable transparent HTTP proxying (记住端口号 88 ...
- 转:Spring历史版本变迁和如今的生态帝国
Spring历史版本变迁和如今的生态帝国 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/bntX2jSQfEHy7/article/deta ...