PLSQL錯誤總結

2022-02-03 20:01:01 字數 1043 閱讀 4818

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;

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...