PLSQL错误总结

database

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 isnull;

end;

 

以上是 PLSQL错误总结 的全部内容, 来源链接: utcz.com/z/533987.html

回到顶部