唯一的小彬哥
码龄16年
关注
提问 私信
  • 博客:3,958
    问答:12,560
    16,518
    总访问量
  • 6
    原创
  • 1,837,970
    排名
  • 117
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2009-03-28
查看详细资料
  • 原力等级
    当前等级
    4
    当前总分
    515
    当月
    0
个人成就
  • 获得20次点赞
  • 内容获得0次评论
  • 获得24次收藏
  • 代码片获得174次分享
创作历程
  • 3篇
    2024年
  • 3篇
    2021年
成就勋章
TA的专栏
  • 问题排查
    1篇
  • Oracle
    5篇
  • 常用SQL
    2篇
  • SQL*Plus
    1篇
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Oracle中imp命令导入dmp文件问题

答:

连接的数据库的字符串不对或者对应的数据库的没有启动或者监听没启动

回答问题 2024.01.30

oracle视图V$CLIENT_STATS中查不到数据

答:

call DBMS_MONITOR.CLIENT_ID_STAT_ENABLE(client_id => 'wydxbg'); 
回答问题 2024.01.30

Oracle分区表中同时存在一级分区与二级分区情况下,二级分区条件过滤无效

答:

你的问题描述不是很清楚,PLANT 是子分区的分区键,你肯定是能用到子分区的。到是你的分区键vt_start 这样写法会导致性能问题

回答问题 2024.01.30

存储过程升级卡住排查方法

在日常工作中经常接收到各类升级问题。其中较为常见的问题就是在编译存储过程时一直卡住无法继续的问题。这类问题一般多是由于发生了阻塞。如果升级过程中没有完全切断客户端对数据库的连接。例如仍然有用户在操作相关过程或者数据库JOB在自动化的执行等都可能导致存储过程编译被阻塞进而导致无法完成升级。这时只有等待相关会话执行完毕或者杀掉会话才能继续升级。如果升级中出现以下错误那么必然是发生了阻塞。
原创
发布博客 2024.01.29 ·
476 阅读 ·
3 点赞 ·
0 评论 ·
6 收藏

常用SQL-表空间使用情况查询

你是否在网络上搜索如何查询表空间使用情况?你是否疑惑为什么查出的表空间使用率都特别的高?你是否曾怀疑它的正确性?阅读此文将会为你解惑。
原创
发布博客 2024.01.25 ·
1189 阅读 ·
12 点赞 ·
0 评论 ·
8 收藏

常用SQL-查询没有主键没有索引的表

用于查询没有主键,没有索引的表
原创
发布博客 2024.01.25 ·
1046 阅读 ·
5 点赞 ·
0 评论 ·
9 收藏

Oracle11g数据库float类型字段存值时精度丢失

答:

你可以使用
alter table 表名 modify 字段 number
进行执行更改,不存在精度丢失的情况下float改number应该可以直接修改成功。

回答问题 2022.04.13

oracle中使用<>的效率

答:

一般来在一个执行计划中,你会发现 access和filter access也就是直接访问,filter则是对access的结果进行过滤,一般情况下,会使用高效的访问条件直接访问数据,然后再使用不高效的条件进行过滤

如果字段上有索引
select * from table t where t.字段 <>5
这个sql会全表扫描,然后谓词会通过filter 进行过滤,所以大部分情况下不会很高效

如果字段上有索引
select * from table t where t.字段> 1 and t.字段 <1000 and t.字段 <>5
这个sql会通过索引1和1000 access得到数据,然后会filter 出不等于5的数据
所以这种方法会更快,
回答问题 2021.12.31

求一个oracle的 PROCEDURE

答:

大致代码如下:


procedure demo(开始时间 date,结束时间 date) is
   
begin
   insert into table  select  日期,count(*)from aaa  where 日期>= 开始时间 and 日期 <=结束时间 group by 日期;
exception when others then 
  null;
end;
回答问题 2021.12.22

oracle数据集里某列存储了sql,如何通过select 直接查询数据集及数据集里sql执行后的值

答:

SQL查出来的SQL需要动过动态调用的方式去执行sql 在pl/sql 代码块,存储过程,函数中使用
execute immediate sql 的方式来执行。

procedure executeSQL is
   变量  varchar2(100);
   变量1  number;
begin
        --串行执行任务,
        for v_run_sql in(SELECT sql_text from tables ) loop
          execute immediate v_run_sql.sql_text  into 变量,变量1;---这里执行sql
          end loop;
exception when others then 
  null;
end;
回答问题 2021.12.22

Oracle,希望将两万张表里的100张不被新用户访问

答:

不清楚你的架构是怎么样的,一般要排查的话,会用到数据库的数据字典,然后通过数据字典动态的生成脚本。
例如排查某张表的权限
select 'REVOKE SELECT ON '||t.TABLE_NAME||' FROM XXXX;' from user_tables t WHERE T.TABLE_NAME IN ('')

回答问题 2021.12.22

将mysql的表同步到oracle后,如何筛选出两端不一致的数据

答:

如果两库可以直连那么left join或者right join写个sql来比对即可,mysql和Oracle 直连可通过安装透明网关之后使用dblink关联查询。
如果无法直连。那么上亿的数据可以对某个字段进行group by进行 count来统计,通过多次分组可大致区分数据丢失的区间,然后将数据过滤到较小的范围时导出excel对数据进行排序来确定丢失数据。

回答问题 2021.12.14

解决oracle 12c中wm_concat函数无效问题

答:

官方提供了listagg来替代wm_concat 为什么不用反而要自己写呢?

回答问题 2021.12.14

MYSQL SUM 函数使用过程出现问题

答:

float,double这些属于浮点数,相加的时候很可能是无法得到指定的数字
比如1.23+1.123 你以为得到的结果是2.353但是实际结果可能是2.3530002
你如果对精度要求非常高的,比如金额之类的,那么你就应该用定点数的类型也就是decimal而不是float,double这些类型

回答问题 2021.12.08

Oracle行情怎么样

答:

以普遍的现象来说做数据库的薪资水平是不如编程开发人员的。另外也要看你掌握的技能水平,如果你非常精通,那么你的收入不会低。你可以大胆往阿里P8,P9的薪资上去考虑,这个精通是指非常厉害的了。但是如果你的水平一般,那么这个必然比其他语言低的,比如JAVA,C++肯定要低的而且差距比较大。当然月薪过万是肯定没问题的,想再高就难了。除非进大公司。比如我属于从JAVA半路出家做数据库的,现在自认还是比较不错的,在国内二线大厂能做到早九晚五,但收入水平一般。现在就在积极转行中。你如果是刚学,你可以了解熟练使用,但是并不建议你进入Oracle行业。

回答问题 2021.12.08

oracle报错pls00103出现字符create

答:

两个存储过程之间加个 /

CREATE OR REPLACE PROCEDURE println(str varchar) AS
BEGIN
  dbms_output.put_line(str);
END;
/ 
CREATE OR REPLACE PROCEDURE pro(a in int, b in int)
 AS
BEGIN
  println(a);
  println(b);
END;

回答问题 2021.12.08

Oracle 错误报告:引用未初始化的组合

答:

buy_good.gstock 改成 buy_good(i).gstock

回答问题 2021.12.08

Oracle数据库在执行查询之前,能不能进行判断,当前表中是否存在某个字段,存在在执行,不存在就执行另外的查询语句

答:

sql语句没有办法实现的,你要明白一个原则。sql是静态的,也就是编译期就会检查对象是否存在,如果对象不存在会在编译期的语义检查阶段就报错,并不会进入执行阶段。在存储过程中使用动语句可以实现你的要求。但是除非你是基于数据库的应用,否则不建议这么干。

回答问题 2021.12.07

Java怎么访问oracle包体内对象

答:

要调用包体的对象则将该对象在包头定义或申明

回答问题 2021.12.07

oracle多字段in同一个条件如何编写

答:
多字段in
select A from t
where (B,C) in (select X,X from q)
 如果B,C是or的关系则写两个SQL进行union
回答问题 2021.12.03
加载更多