PLSQL调试

本文分享了PLSQL开发中的实用技巧,包括快速获取代码行号、使用快捷键提高编码效率、存储过程调试方法、利用DUAL表简化代码、去重策略对比、临时表WITH子句应用及无用列的巧妙利用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

以下文章:可以获取的内容,调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 

 

 

仅总结以上

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值