Oracle預存程序

來源:互聯網
上載者:User

標籤:

1、with-as-select文法:相當於暫存資料表

with t as (select * from emp where deptno=10)
select * from t;

2、case文法和decode文法

DECODE(value,if1,then1,if2,then2,if3,then3,...,else)

 1 select( 2     case ename 3          when ‘SMITH‘ then ‘史密斯‘ 4          when ‘ALLEN‘ then ‘艾倫‘ 5          else ename 6          end 7      ) as "姓名" 8 from emp ; 9 10 select decode(ename,‘SMITH‘,‘史密斯‘,‘ALLEN‘,‘艾倫‘,ename) from emp;

 

3、execute immediate

oracle中DBMS_SQL package包和EXECUTE IMMEDIATE都可以用來解析並執行動態SQL語句或非運行時建立的PL/SQL塊,

相比較而言,EXECUTE IMMEDIATE使用較簡單,能夠滿足較常用的需要

EXECUTE IMMEDIATE v_sql  [BULK COLLECT INTO 或INTO 傳回值變數] [INTO 入參 1,.., out 出參1,..]

 1 DECLARE   2   v_sql   VARCHAR2(1000);   3   v_table VARCHAR2(30) := ‘test_dynamic_sql‘;   4 BEGIN   5   v_sql := ‘ create table ‘ || v_table ||   6            ‘ (id varchar2(10),name varchar2(100))‘;   7   EXECUTE IMMEDIATE v_sql;   8 END;   9 DECLARE  10   v_sql   VARCHAR2(1000);  11   v_table VARCHAR2(30) := ‘test_dynamic_sql‘;  12 BEGIN  13   --1、綁定輸入變數  14   v_sql := ‘ insert into ‘ || v_table || ‘ values (:1,:2)‘;  15   EXECUTE IMMEDIATE v_sql  16     USING ‘2‘, ‘binding_in_variable‘; --使用using綁定輸入變數  17 END; 

4、nvl()和nvl2()

nvl(COMMISSION_PCT,0)
如果第一個參數為null,則返回第二個參數
如果第一個參數為非null,則返回第一個參數

NVL2(COMMISSION_PCT,‘SAL_COMM‘,‘SAL‘)
如果第一個參數為null,則返回第三個參數
如果第一個參數為非null,則返回第二個參數

nullif(length(first_name),length(last_name))
如果兩個參數值相等,則返回 null
如果兩個參數不等,則返回第一個運算式值

COALESCE(EXPR1,EXPR2,EXPR3...EXPRn)
從左往右數,遇到第一個非null值,則返回該非null值。

5、connect by用法

http://blog.csdn.net/chiclewu/article/details/15027245

http://blog.csdn.net/fw0124/article/details/6775163

http://blog.csdn.net/leshami/article/details/5616877

1 select * from emp2 start with empno=78393 connect by prior empno = mgr;

--prior表示前一條記錄,即下一條返回記錄的mgr應當等於前一條記錄的empno

 

Oracle預存程序

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.