pl/sql developer的一個小問題

跨越七海的風發表於2020-07-17

剛才接到一個同事的諮詢,在package裡新增一個procedure,想要除錯,發現只有這個procedure沒有test按鈕。


分析了半個小時,最終發現是長度超過30個字元導致的。


實驗如下:


create or replace package PKG_TEST is


  -- Author  : TERRY

  -- Created : 2020/6/11 22:46:33

 procedure P123456789012345678901234567890;

 procedure P1234567890123456789012345678901;


end PKG_TEST;

/


create or replace package body PKG_TEST is


 procedure P123456789012345678901234567890 is

 begin

   null;

 end;


 procedure P1234567890123456789012345678901 is

 begin

   null;

 end;

end PKG_TEST;

/


如下圖所示,

第一個儲存過程名長度為31,有test按鈕;

第二個儲存過程長度為32,沒有test按鈕。



上述pl/sql developer版本是 Version 11.0.3.1770,不知道新版本是否會有此問題。

因為oracle 11g及以前版本中資料庫物件(包括儲存過程名稱)長度最大就是30,從12c開始改為128了。所以這種問題也不算bug。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26451536/viewspace-2697808/,如需轉載,請註明出處,否則將追究法律責任。

相關文章