您现在的位置是:首页 > 正文

PLSQL调试

2024-02-01 04:38:14阅读 2

 

以下文章:可以获取的内容,调PLSQL的行号,使用常用的快捷敲代码的方式(部分),初步调试存储过程,dual部分技巧,去重方式

 

1.调行号  tools(工具)----SQlWindow(窗口类型下)--show gutter line(显示行号) ,即可获得想要的行号

 

2.使用“字母+空格 ”比如说 sf   敲出“select * from ”,至于想要的什么样的输出看自己喜好,编辑

 

3.窗口列表 window list 可拖拽至想要的地方,好处编写存储过程包,或者写sql比较方便,可以右键对命名,容易管理编写的sql文件

 

4.伪表的使用 dual,可以很好的编写代码

1.比如select  xx into v_xx    未查询到变量时会报nodatafound ORA-01403错误 union all   select '' from dual 相信可以很好的解决措施之一,除此之外用select count(1) into v_count 来判断count变量

2.当你想要N列,即使没有查询到数据也需要这么多,恭喜你可以用dual    union all  select ''  from dual 可以解决

 

 

5.测试存储过程,只需邮件对着存储过程测试(点击debug)

 

 

 

6.去重方式 

 distinct  去重占用时间较多(使用较多,个人不推荐,因为耗时,在去重很少的时候可推荐;不过同事这些写,思考了一下,可能为图方便,但对代码运行速度有影响)

group by  当选取最大时间值的时候,速度会比row_number快,具体会有所不同

row_number  类似group by 用法       最里层排序,外加一层选取;公司使用较多方式

select 字段 from (
select 字段, row_number() over(partition by name,age order by name)  rn
) where rn=1

 

7. with dt as()  临时表的使用,可用于数据加工的,好处是不需要二次查询,使用的是临时表,数据加工常用

with dt as(),sec as(),ty as()

dt临时表名  sec临时表名  后者可用前者加工的数据,最后select 可用任意一个临时表的数据

当然了在mybatis ibatis中均可使用

 

8.  无用列的使用  用于统计(分组或者union )或者占位,示例中 利用 1 as rr 作为分组条件将满足条件的数据进行处理,达到最终的目的

 

with dt as(

select 0 as a ,sum(b) as b,1 as rr from AA where the_date=date'xxxx-xx-xx' group by by the_date,province

union 

select sum(a) as a ,0 as b ,1 as rr from AA the_date=date'xxxx-xx-xx'  goup by the_date,province

),sec as(

select  sum(a) a, sum(b) from dt where 条件  group by rr

)

select *  from sec 

 

 

仅总结以上

 

网站文章

  • 一套优雅的 Spring Boot + vue后台管理系统

    一套优雅的 Spring Boot + vue后台管理系统

    如何写一个优雅的项目?为了让更多人学习前后端分离项目,特意录制了一个基于Spring security + Jwt + Vue的前后端分离后台管理系统VueAdmin,手把手完整教学,另外...

    2024-02-01 04:38:08
  • 伪分布/集群搭建的详细过程

    伪分布/集群搭建的详细过程

    2024-02-01 04:37:42
  • solidity[1]-HelloWorld

    solidity介绍 以太坊拥有多种高级语言,可用于编写智能合约,每种语言都受到另一种广泛使用的语言的启发。最流行的一种叫做Solidity,它基于JavaScript。由于Solidity是迄今为止...

    2024-02-01 04:37:35
  • vite & FormData & mock,跨域&无法上传

    mock模式开启时,我这里是无法请求通过FormData,浏览器New Work上显示padding中,关闭mock后就可以了;

    2024-02-01 04:37:29
  • appnode怎么样_Linux面板AppNode免费开放使用,你还在用宝塔吗? - 立金哥

    AppNode 简介AppNode 是一款用于管理 Linux 服务器的软件,它基于 Web 页面进行可视化操作,不但可以帮助不熟悉 Linux 命令的用户无障碍地管理他们的 Linux 服务器,也可...

    2024-02-01 04:36:59
  • linx 6.0.60 x64 绿色部署mysql5.7.25

    Linx凝思操作系统是一个基于debian6的很老的平台很多新的软件都没有deb包,只能自己手工编译部署下面介绍如何部署mysql5.7.25,并且保证所有文件都在/home/mysql下1.安装Linx操作系统,使用国网定制版(d5000版)2.在终端使用root用户,删除系统自带的mysqldpkg --list | grep mysql | awk -F'[ ]' '{...

    2024-02-01 04:36:53
  • Protobuf 原理大揭秘

    Protobuf 原理大揭秘

    Google推出的一种 结构化数据 的数据存储格式(类似于XML、Json多个版本的源码地址一种变长的编码方式,优点是对于小的数值可以用很少的字节表示,从而进行数据压缩。存储方式是T - V。Zigzag编码是弥补Varint在对负数编码时的不足,从而更好的帮助Protobuf进行数据的压缩。

    2024-02-01 04:36:45
  • 广域网和局域网对比?

    总之,广域网和局域网各有优缺点,在特定的场景中都有其适合的应用范围。而广域网则适用于跨越较大地理范围的不同机构和公司之间进行数据通讯和信息交换等需求约束较少的情况下应用。接入速率:由于其规模大小不同,...

    2024-02-01 04:36:16
  • sql中可用的模糊搜索方法

    使用正则sql进行数据的搜索

    2024-02-01 04:36:09
  • Docker安全知多少?在虚拟的环境中,就不用考虑安全了吗?

    Docker安全知多少?在虚拟的环境中,就不用考虑安全了吗?

    本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等上一篇文章和大家分享了 Linux 系统安全。但是,当你在和同事讨论 Linux 系统安全的时候,同事表示,公司的服务都是通过 ...

    2024-02-01 04:36:01