打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
PLSQL错误总结

1、'' is null为true,''和null是同一个东西。

神经病写法:无论vc_itemids是null还是'',or后面的那一句都为false,判空只能使用is null 或者 is not null。下面的vc_itemids只需要前面的判空就可以了。

 

分析:

 

 

 

 

 

2.低效的子查询

神经病写法:子查询并没有用到外面查询的列,但是外面没查询一条数据,就执行一次子查询,但是子查询的数据都是一样的,应写成临时数据。

改善写法:

declare
  my_date varchar2(20);
begin
  select t1.real_date
    into my_date
    from (select '20200520' real_date from dual) t1;
  --使用上面的变量值放到where条件里 
  SELECT *
    FROM table_a A, table_b b
   WHERE A.item1 IN ('1', '2', '5')
     and a.item2 = b.item3(+)
     and a.item6 >= my_date
     and a.item5 is null;
end;

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
15个初学者必看的基础SQL查询语句
SQL每日一题
项目从Oracle数据迁移到GBase数据库时解决适配遇到的问题
MySQL入门学习 (3)
mysql查询特定时间段内的数据
MySQL实验 子查询优化双参数limit MySQL实验 子查询优化双参数limit
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服