"" is null为true,""和null是同一个东西。 神经病写法:无论vc_itemids是null还是"",or后面的那一句都为false,判空只能使用is null 或者 is not null。下面的vc_itemi
"" is null为true,""和null是同一个东西。
神经病写法:无论vc_itemids是null还是"",or后面的那一句都为false,判空只能使用is null 或者 is not null。下面的vc_itemids只需要前面的判空就可以了。
分析:
低效的子查询
神经病写法:子查询并没有用到外面查询的列,但是外面没查询一条数据,就执行一次子查询,但是子查询的数据都是一样的,应写成临时数据。
改善写法:
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;
--结束END--
本文标题: PLSQL错误总结
本文链接: https://www.lsjlt.com/news/6460.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-23
2024-04-23
2024-04-23
2024-04-23
2024-04-23
2024-04-23
2024-04-23
2024-04-23
2024-04-23
2024-04-23
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0