1、'' is null為true,''和null是同乙個東西。
神經病寫法:無論vc_itemids是null還是'',or後面的那一句都為false,判空只能使用is null 或者 is not null。下面的vc_itemids只需要前面的判空就可以了。
分析:
2.低效的子查詢
神經病寫法:子查詢並沒有用到外面查詢的列,但是外面沒查詢一條資料,就執行一次子查詢,但是子查詢的資料都是一樣的,應寫成臨時資料。
改善寫法:
declaremy_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;
pl sql常見錯誤異常
1.錯 誤 名 稱 錯誤 錯 誤 含 義 2.cursor already open ora 06511 試圖開啟已經開啟的游標 3.invalid cursor ora 01001 試圖使用沒有開啟的游標 4.dup val on index ora 00001 儲存重複值到惟一索引約束的列中 5...
PL SQL 例項總結
pl sql 保證輸出 set serveroutput on pl sql 塊 declare v sal emp.sal type begin select sal into v sal from emp where empno 7369 dbms output.put line v sal e...
PLSQL集合總結
一 索引表 描述1 索引表只能作為pl sql符合資料型別使用,而不能作為表列的資料型別使用。2 索引表的下標可以為負值,索引表的下標沒有限制。語法type index table type is table of element type index by varchar2 binary inte...