这段时间在做一个业务,需要用到存储过程处理业务逻辑,但是出现一个ORA-01403: 未找到数据 问题, 那么这个应该如何解决这个问题 declare mixType integer; begin --原先获取方式-- ) ; end; 如果根据条件找不到,是无法赋值到mixType中的 解决方法我采用这种处理方式 declare mixType integer; begin --默认如果找不到,默认给0值--- ; then ) ; end if; end; Ps: 参考网址来源: https…
); begin '; --在select into 后面添加exception 错误处理机制 exception when no_data_found then version:= 'hhh '; --以上是处理select into 的时候提示未找到数据的处理方法 if version is null or version ='' then INSERT INTO 表a (字段) ) from 表b ; ) ' ) '; commit; end if; end;…
作者: zyl910 一.缘由 BLOB是指二进制大对象,也就是英文Binary Large Object的缩写. 在很多时候,我们是通过其他编程语言(如Java)访问BLOB的字节数据,进行字节级的操作的. 但是有些时候工作量很小,感觉专门为BLOB字节级操作而专门开发个程序,是比较麻烦的.于是我研究了一下如何直接在Oracle存储过程里操作BLOB的字节数据. 二.办法 2.1 基本操作 使用 length 函数,可以获取blob的字节长度.如 v_len := length(i_blob)…
未找到数据. 在 select 字段 Into 变量 from 表 where 条件: 这种语句中很有可能会有select 不到数据的问题,导致报错"未找到数据" 要解决这种问题需要增加一个异常处理: exception when no_data_found then 异常处理语句: 需要注意的是,这种异常处理语句需要在begin end中间,可以在可能出现异常信息的语句段的前后加上begin end ,然后 在end 前加上异常处理语句: ') then --找出这个单据的客户 be…
安装redis时遇到的问题 make:cc 命令未找到的解决方法 没安装gcc,然后安装 yum install gcc yum install gcc-c++…
环境:CentOS7.4   Oracle11.2.0.4(搭建rac集群) 问题描述:在使用exp命令执行导出的时候,部分表提示“EXP-00003: 未找到段 (0,0) 的存储定义”警告. 问题原因:该问题是因为导出的数据表为空表导致的.Oracle 11GR2当表无数据时,不分配segment,以节省空间,因此在用EXPORT导出时,空表不能导出. 解决方法: 1.使用以下语句查找空表,把查询结果导出执行,强行修改segment值,然后再导出即可导出空表. select 'alter t…
如何在Oracle数据库中实现获取前几条数据的方法呢?就是类似SQL语句中的SELECT TOP N的方法.本文将告诉您答案,举例说明了哟!   1.在Oracle中实现SELECT TOP N :    由于ORACLE不支持SELECT TOP语句,所以在ORACLE中经常是用ORDER BY跟ROWNUM的组合来实现SELECT TOP N的查询.  简单地说,实现方法如下所示:  SELECT 列名1...列名n FROM (SELECT 列名1...列名n FROM 表名ORDER B…
目录 一.访问数据的方法 1.直接访问数据 2.访问索引 一.访问数据的方法 Oracle访问表中数据的方法有两种,一种是直接表中访问数据,另外一种是先访问索引,如果索引数据不符合目标SQL,就回表,符合就不回表,直接访问索引就可以. 本博客先介绍直接访问数据的方法,下一篇博客在访问索引的方法 1.直接访问数据 Oracle直接访问表中数据的方法又分为两种:一种是全表扫描:另一种是ROWID扫描 1.1 全表扫描 全表扫描是Oracle直接访问数据的一种方法,全表扫描时从第一个区(EXTENT)…
安装Redis的时候报这个错误 原因:未安装gcc 解决方法:安装gcc 自动安装,包括依赖库[root@VM_220_111_centos redis-3.2.9]# yum -y install gcc automake autoconf libtool make…
一.问题描述 我之前连的是别的数据库,现在更换了数据库的连接,然后就报了如下的错误: 我使用的是NHibernate,我找到映射文件后发现我用了dblink,代码中table="COM_ORGANIZATION@COLLECT_DB",这样就确定了我想连接的数据库要么不存在,或者是我本地的数据库没有创建dblink,我的情况就是没有创建dblink <?xml version="1.0" encoding="utf-8" ?> <…
在sqlplus中建立如下的内容: 1.程序包 SQL> create or replace package types  2  as  3      type cursorType is ref cursor;  4  end;  5  / 程序包已创建. 2.函数SQL> create or replace function sp_ListEmp return types.cursortype  2  as  3      l_cursor    types.cursorType;  4 …
---存储过程中的原语句: ---删除表 DROP TABLE A_NEWTDDATA; --报错 经查询:存储过程不支持DML语言: 解决方法: execute immediate 'DROP TABLE A_NEWTDDATA';…
判断语句:if 条件 then   if  条件  then ************;   elsif  条件  then  ************;   elsif 条件  then ************;   end if;  end if; 主要注意elsif 写法,少一个e 时间查询:to_char(t.uptime,'yyyy-mm-dd')='2015-10-27',用to_char函数转成字符型 和分页查询有关的存储过程: create or replace procedu…
安装C开发环境 由于gcc包需要依赖binutils和cpp包,另外make包也是在编译中常用的,所以一共需要9个包来完成安装,因此我们只需要执行9条指令即可: yum install cpp yum install binutils yum install glibc yum install glibc-kernheaders yum install glibc-common yum install glibc-devel yum install gcc yum install make yu…
String strctl = "OPTIONS (skip=0)" + // 0是从第一行开始 1是 从第二行 CHARACTERSET AL32UTF8 是为了解决导入中文为乱码问题 " LOAD DATA CHARACTERSET AL32UTF8 INFILE '"+loadfileName+"' " + " APPEND INTO TABLE "+tableName+"" + //覆盖写入 &qu…
问题描述: 环境:winxp运行程序连接远程Oracle数据库时报错:未找到 Oracle 客户端和网络组件.这些组件是由 Oracle 公司提供的,是 Oracle 8i 版 (或更高) 客户软件安装的一部分. 在安装这些组件之前,将无法使用此提供程序 解决方法: 此报错为没有正确安装Oracle客户端组件造成. 只需要安装相应组件即可. 如果是Oracle8i客户端,请安装如下图第二项. 如果用的是Oracle10g客户端,请安装如下图:…
Oracle存储过程中异常的捕捉和处理 CREATE OR REPLACE Procedure Proc_error_process ( v_IN in Varchar2, v_OUT Out Varchar2) AUTHID CURRENT_USER AS --声明异常 some_kinds_of_err EXCEPTION; -- Exception to indicate an error condition v_ErrorCode NUMBER; -- Variable to hold…
Oracle 存储过程异常处理 1.异常的优点    如果没有异常,在程序中,应当检查每个命令的成功还是失败,如  BEGIN  SELECT ...  -- check for ’no data found’ error  SELECT ...  -- check for ’no data found’ error  SELECT ...  -- check for ’no data found’ error  这种实现的方法缺点在于错误处理没有与正常处理分开,可读性差,使用异常,可以方便处理…
1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字(    参数1 IN NUMBER,    参数2 IN NUMBER) IS变量1 INTEGER :=0;变量2 DATE;BEGIN END 存储过程名字 2.SELECT INTO STATEMENT  将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条  记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)  例子:   BEGIN  SELECT col1,c…
1.存储过程结构 1.1 第一个存储过程 create or replace procedure proc1( para1 varchar2, para2 out varchar2, para3 in out varchar2 ) as v_name ); begin v_name :='zhangsf'; para3 := v_name; dbms_output.put_line('para3:'||para3);end; 上面就是一个最简单的存储过程.一个存储过程大体分为这么几个部分: 创建…
原文地址:https://www.cnblogs.com/tingbogiu/p/5641000.html 1.存储过程结构 1.1 第一个存储过程 create or replace procedure proc1( para1 varchar2, para2 out varchar2, para3 in out varchar2 ) as v_name varchar2(20); begin v_name :='zhangsf'; para3 := v_name; dbms_output.p…
1.存储过程结构 1.1 第一个存储过程 ? 1 2 3 4 5 6 7 8 9 10 11 12 CREATE OR REPLACE PROCEDURE proc1 (     para1 varchar2,     para2 OUT varchar2,     para3 IN OUT varchar2 ) AS     v_name varchar2(20); BEGIN     v_name := 'zhangsf';     para3 := v_name;     dbms_out…
1.SQLCODE和SQLERRM 2.%TYPE和%ROWTYPE的使用 3.sql%rowcount的作用 1.SQLCODE和SQLERRM SQLCode:数据库操作的返回码,其中 --成功: --失败: --没有检索到数据. --用户自定义异常 sqlerrm函数返回指定错误代码的错误信息. 在一个内在的异常中,SQLCODE返回Oracle错误的序号,而SQLERRM返回的是相应的错误消息,错误消息首先显示的是错误代码. SQLCODE返回的是负数,除非Oracle的错误为“ORA-…
问题描述 unzip: Command Not Found 或 zip: Command Not Found 或unzip: 未找到命令 解决方法 如果是Ubuntu的的系统可以用下面的命令安装:sudo apt-get install zip 如果是用yum安装的话用下面的命令安装:yum install -y unzip zip:…
版本信息: 微信开发者工具:1.03.2101150 wepy:2.0 wepy/cli:6.14.8 问题描述 按照 wepy 文档中的步骤新建项目: $ npm install @wepy/cli -g # 全局安装 WePY CLI 工具 $ wepy init standard myproj # 使用 standard 模板初始化项目 $ cd myproj # 进入到项目目录 $ npm install # 安装项目依赖包 使用开发者工具导入 myproj 根目录,即可预览效果. 但我…
使用ADO连接oracle数据库时,连接串使用Provider=OraOLEDB.Oracle时提示"未找到提供程序.该程序可能未正确安装". 原因:由于我之间安装oracle_odbc的组件,然后又卸载了几回. 查看oracle安装目录下的BIN目录,E:\app\Administrator\product\11.1.0\db_1\BIN 发现有OraOLEDB11.dll这个文件 解决方法: 注册OraOLEDB11.dll 注册方法: regsvr32  OraOLEDB11.d…
一.现象: C#程序中需要以Provider=OraOLEDB.Oracle.1方式访问ORACLE数据库.但程序执行时报异常:未在本地计算机注册“OraOLEDB.Oracle.1”提供程序 二.解决方案: 1.在Oracle安装目录找到Oracle的主程序目录,点击鼠标右键->属性->安全,对ASP.NET或者NETWORK SERVICE 帐户赋予允许读.执行权限,并在“高级”中保证该目录的子目录.文件都继承这些属性. 2.服务器ORACLE为10g,虽然安装时选择了Oracle Dat…
今天就让同事帮忙看问题.当请求生成采购订单,在销售模块错误提交销售订单 查看请求日志 +---------------------------------------------------------------------------+ 採购管理系统: Version : 12.0.0 Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved. REQIMPORT module: 导入申请 +-------------…
今天同事让帮忙看一个问题,在销售模块提交销售订单生成采购订单的请求时报错 查看请求日志 +---------------------------------------------------------------------------+ 采购管理系统: Version : 12.0.0 Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved. REQIMPORT module: 导入申请 +------------…
问题描述:VS2010开发的C++程序,在一台Win7旗舰版的已安装Oracle客户端的PC上连接不上Oracle,提示“未找到提供程序.该程序可能未正确安装”,其他语言编写的程序比如C#是可以成功连接Oracle的: 解决办法:首先是找谷歌度娘帮忙,找了几篇文章,都说是没有Oracle的Oledb驱动,去安装目录XXXX\bin下还真没找到OraOLEDB*.dll,然后按照文章帮助将OraOLEDB10.dll文件拷贝至有问题的Win7上,在DOS下开始注册,这时却提示“XXXX”,意思就是…