随笔分类 - Oracle(数据库)
摘要:问题描述:使用PL/sql工具连接oracle数据库时,出现“ORA-12541:TNS:无监听程序”问题 问题分析:如果出现以下3种情况,大概率是因为监听日志文件太大影响的 1)在cmd命令行窗口输入 sqlplus 用户名/密码 登录是正常的,说明oracle数据库服务是正常的 2)用pl/sq
阅读全文
摘要:在网上找到一个基于Oracle.ManagedDataAccess.Client 封装的数据库操作工具类(OracleHeler), 来自于这篇博客(https://www.bbsmax.com/A/6pdDQXeOzw/),这里做下记录 /// <summary> /// Oracle数据库操作类
阅读全文
摘要:PLSQL Developer是一款功能强大的工具,可以方便的连接操作oracle数据库。使用PLSQL Developer可以查看oracle的session会话。 1、打开进入PLSQL Developer,选择查看的数据库进行连接登录 2、找到工具栏的的工具-->会话(session) 3、可
阅读全文
摘要:今天想在程序拼接好执行修改语句(添加、更新、删除),调用数据库存储过程执行 首先,我们来编写这个存储过程 /* * 执行存储过程 * 输入参数:执行SQL * 输出参数:返回受影响行数 */ create or replace procedure Proc_ExecSql ( --定义输入、输出参数
阅读全文
摘要:创建一个存储过程后,执行编译是出现以下问题,点击确定又无法查看错误信息 创建存储过程的语法 create or replace procedure PROC_PROD_TEST ( searchIds in varchar2, execCount out integer ) as --Num1 in
阅读全文
摘要:今天做了一个业务存储过程,发现 存储过程中in的使用出现一个问题,先创建一个存储过程demo 创建存储过程(对产品进行操作) create or replace procedure PROC_PROD_OPERATE ( searchIds in varchar2, execCount out in
阅读全文
摘要:Oracle 的 for odr in(查询语句) loop 如何跳过循环、跳出循环, 利用循环产品列表进行不同操作 1)loop循环的跳过 --定义变量 declare searchCount integer; begin --赋值 searchCount:=20; --循环产品列表信息,进行各种
阅读全文
摘要:怎么利用SQL查询表空间的表空间大小、已使用空间、使用比、空闲空间 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)", TO
阅读全文
摘要:之前在编写oracle的sql语句时遇到这个问题,这里做个记录 问题描述:ORA-00937: 不是单组分组函数 问题原因:select语句中又在查询某一列的值,其中还有聚合函数 原先本人编写SQL是这样的 其中,用到聚合函数SUM(),执行时导致这个问题 如果要解决这个问题,SQL语法可以改成这样
阅读全文
摘要:--1.日期的各部分的常用的的写法 --- --1) 取时间点的年份的写法: SELECT TO_CHAR(SYSDATE,'YYYY') FROM DUAL; --结果:2019 --2) 取时间点的月份的写法: SELECT TO_CHAR(SYSDATE,'MM') FROM DUAL; --结果:08 --3) 取时间点的日的写法: SELECT TO_CHAR(SYSD...
阅读全文
摘要:在Oracle的数据库中,如果不小心删除数据,该如何恢复数据呢? 有两种方法 :scn 方法和时间戳方法 一、恢复删除数据的SQL语法(建议用时间戳) 1、通过scn恢复删除且已提交的数据 1)获得当前数据库的scn号 select current_scn from v$database; (切换到
阅读全文
摘要:我们遇到过大多的情况的需求是查询结果中空转为0,这个可以通过oracle的NVL()函数就可以搞定。 之前做报表客户有个需求,查询出结果为0 要转成空的,不显示0 那么在oracle有没有现成函数能搞定呢?有的 1、方法1:NULLIF()函数 1)介绍 NULLIF (expr1, expr2),
阅读全文
摘要:在oracle中,如何修改已存在数据列名的数据类型 一般人直接在表结构设计这里修改,这里只适合修改列没有数据,可修改 那么,如何这个列是有数据,是怎么修改的呢? 直接修改会Oracle错误 第一步:先创建一个新列名,名字跟修改的名称一样(多了个1),数据类型改成要修改的(如varchar(100))
阅读全文
摘要:之前在调试存储过程时,出现卡死情况,无法插入数据 解决方法 1、查看那些表被锁住: 2、查看引起死锁的会话: 3、查看被阻塞的会话: 4、释放锁或者杀掉ORACLE进程: 具体情况根据每个人情况不一样,sid,serial#的值也不一样 参考来源:https://blog.csdn.net/haoj
阅读全文
摘要:在编写一个数据库函数时,方法实现需要查询后进行修改,出现ora-14551的错误 解决方法 在声明函数之前加上pragma autonomous_transaction ,在执行DML语句后Commit; 经过如上修改后的函数如下 参考来源:https://www.linuxidc.com/Linu
阅读全文
摘要:这段时间在做一个业务,需要用到存储过程处理业务逻辑,但是出现一个ORA-01403: 未找到数据 问题, 那么这个应该如何解决这个问题 如果根据条件找不到,是无法赋值到mixType中的 解决方法我采用这种处理方式 Ps: 参考网址来源: https://blog.csdn.net/u0109998
阅读全文
摘要:oracle如果存储过程比较复杂,我们要定位到错误就比较困难,那么可以存储过程的调试功能 先按简单的存储过程做个例子,就是上次做的存储过程(proc_test) 1、先在数据库的procedures文件找到我们之前创建存储过程 2、选中存储过程,右键弹出菜单,选择 测试 3、出现测试脚本页面,输入动
阅读全文
摘要:oracle存储过程的创建语法 上面我们创建一个处理加、减、乘、除计算的函数,那么我们也可以建成存储过程 那么如何调用存储过程 输出结果 那么,如果我们要在存储过程调用函数,是怎么处理的呢? 只要把处理过程放到函数中,存储过程调用函数就可以了 再次调用的结果 输出结果
阅读全文
摘要:我们来定义一个oracle的函数 如:我们来创建一个处理加、减、乘、除的计算函数 上面的处理函数用的if end if,也可用if elsif else end if进行处理(注意 不是else if ,是elsif) 执行创建后,可在数据的函数文件下看到 那么怎么调用我们创建的计算函数呢? 也可以
阅读全文
摘要:1、问题描述: 今天登陆pl/sql工具时,提示 ORA-28002 the password will expire within 7 days 2、问题原因: oracle11g中默认在default概要文件中设置了"PASSWORD_LIFE_TIME=180”所导致,oracle用户的密码必
阅读全文

浙公网安备 33010602011771号