前段時間寫Oracle預存程序就遇到問題.原來寫成這樣if 1=2 then null;elseif 1=3 then nullend if;在PL/SQL編輯環境下elseif沒有變色,說明不是關鍵字。後來改成if 1=2 then null;else if 1=3 then nullend if;編譯時間報異常。去goole上百度了下,很多人都說是 elseif。又試了N邊,編譯總不能通過。怒了,直接寫成if 1=2 then null;else if 1=3 then
昨天晚上快下班的時候,公司資料庫突然堵住了,一個buf表中累計了20多W的資料提取不出來,改了程式,效果不明顯。因為之前有一次也重啟過oracle,所以這次還是想把oracle重啟一下,因為那些資料都是客戶要發送出去的東西,比較急,所以,經理就去機房把oracle重啟了。他怎麼重啟的我也不知道,我只知道,重啟之後,oracle起不來了。。那個電話啊。。那個催促啊。。 >cmd>sqlplus sys/**** as
1.建立FUNCTION fn_ifrandom(其中用到遞迴)CREATE OR REPLACE FUNCTION fn_ifrandom (tmpallrandom IN clob,tmprandom IN VARCHAR2,allcount in number) RETURN varchar2IS --產生不重複的隨機數 randomchar varchar2(5); --最終返回的不重複的隨機數 randomchar1 varchar2(5); ifrandom number;
我們先用一個小表來,來說明一下,oracle執行計畫該注意哪些地方。hr@ORCL> set autotrace traceonlyhr@ORCL> select * from t;模糊比較兩條sql的優劣時,建議先查看以下兩個值:Cost (%CPU):cpu代價,這個值要代數和。比如,這裡是3+3=6consistent gets:這個值一般要多執行幾次!讓他穩定下來,才有比較的意義。Execution Plan :----------------------------
之前也寫過一篇10046的文章:10046簡介 今天,Think想和大家一起共同深入去理解一下Oracle的這些調試事件 10046事件是SQL_TRACE的擴充,被戲稱為"吃了興奮劑的SQL_TRACE" 有效追蹤層級: ① 0級:SQL_TRACE=FASLE ② 1級:SQL_TRACE=TRUE,這是預設層級 ③ 4級:1級+綁定變數 ④ 8級:4級+等待事件
我們知道每個RDBMS在sql方面都會存在自己的特色。那麼今天我們來看看oracle有啥特色值得我們來在意。特色1 :Oracle分析函數與開窗函數: 文法: FUNCTION_NAME (<argument>,<argument>...) OVER (<Partition-Clause><Order-by-Clause><Windowing Clause>)例如: sum(sal) over