oracle預存程序 學習筆記

來源:互聯網
上載者:User
串連字元:||賦值運算:":="如: l_name :='sky';判斷是否相等:"="如: if 1=1 then...變數綁定:":"如: if :P_NAME ='sky' then...exists是否存在not exists是否不存在%type         匹配欄位類型%rowtype     匹配記錄類型%type當表類型改變的時候,不需要手動修改PL/SQL塊中調用的該類型例如:V_GP_ID SC_BALANCE_DAILY.Gp_Id%TYPE;sqlcode                sql語句sqlerrm                sql錯誤no_data_found        當select into沒有記錄時出現(DML不觸發NO_DATA_FOUND異常)commit         提交    (insert、update、delete中使用)比如你用test賬戶登入資料庫insert到表中一條記錄,而不commit,那麼別的賬戶在登入這個資料庫時就查詢不到你insert 的記錄;而commit後則其他賬戶就能查詢到你insert的記錄了。rollback    復原    (insert、update、delete中使用)比如你用test賬戶登入資料庫delete表中一條記錄,這時你查詢這個表時,則delete的記錄不存在;再rollback後,你再查詢你delete的記錄時,發現被刪除的記錄又回來了。execute immediate 一般用於 執行動態 SQL簡單來說 就是你一個預存程序當中 建立了一個表 table_a 然後要用insert into將其他的資料插入到這個table_a當中,但是因為你在建立過程的時候 table_a還不存在,過程就會顯示有編譯錯誤,因為table_a不存在必然導致過程無法執行,所以無法編譯成功,而把insert into語句加如到 execute immediate之後 則oracle不會再去理會這個對象是否存在,因此可以成功編譯和執行。nvl()nvl(欄位名,0),就是當你選出來的時候,這個欄位雖然為空白,但是顯示的是0例如:nvl(sum(rge_amt_sum),0) SJCZ_AMT, 當sum(rge_amt_sum)為空白時,SJCZ_AMT的值為0decode()decode(列名,判斷條件,符合判斷條件的輸出結果,不符合判斷條件的輸出結果)例如:decode(business_type,'COD_PAY',amt,-amt) cod_def_amtsysdate返回目前時間yyyy-mm-dd hh24-mi-ss例:select sysdate from dual;            --2013-6-7 10:36:30    sysdate+1得到的是後一天,如2013-6-8 10:36:30trunc()返回當前日期yyyy-mm-dd例:select trunc(sysdate) from dual;    --trunc(sysdate) 2013-6-7TIMESTAMP帶毫秒格式的日期--當月第一天select trunc(sysdate,'mm') from dual;--當月最後一天select last_day(trunc(sysdate,'mm')) from dual;

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.