1. nvl2函數
a,nvl2(expr1,expr2,expr3),如果expr1不是null,則返回expr2;如果expr1是null,則返回expr3。.參數expr1可以是任意數據類型,而expr2和expr3可以是除long之外的任何數據類型。但注意,expr2和expr3的數據類型必須要與expr1的數據類型匹配。
2. 從oracle9i開始,如果主表的主鍵列和從表的外鍵列名稱相同,那么可以使用natural join 關鍵字自動執行內連接操作。select * from dept natural join emp;
3. 外連接
1)左外連接,通過制定left join選項來實現的。當使用左外連接時,不僅會返回滿足條件的所有記錄,而且還會返回不滿足連接條件的連接操作符左別表的其他行。
2)右外連接,通過制定right join選項來實現的。當使用右外連接時,不僅會返回滿足條件的所有記錄,而且還會返回不滿足連接條件的連接操作符右別表的其他行。
3)使用+操作符:+操作符只能出現在where子句中,并且不能與outer join語法同時使用;當使用+操作符執行外連接時,如果在where子句中包含有多個條件,則必須在所有條件中都包含+操作符;+操作符只使用于列,而不能用在表達式上;+操作符不能與or和in操作符一起使用;+操作符只能用于實現左外連接和右外連接,而不能用于實現完全外連接。
4. extract函數:用于從日期時間值中取得所需要的特定數據。
Eg: select extract(year from sysdate) from dual;
5. last_day(d):用于返回特定日期所在月份的最后一天
eg:select last_day(sysdate) from dual;
6. trunc(d,[fmt]):用于截斷日期時間數據。如果fmt指定年度,則結果為本年度的1月1日;如果fmt指定月,則結果為本月1日。
Eg:select trunc(sysdate,’year’) from dual;
7. cast(expr as type_name):用于將一個內置數據類型或集合類型轉變為另一個內置數據類型或集合類型。
8. 觸發器是指被隱含執行的存儲過程。當發生特定事件時,oracle會自動執行觸發器的相應代碼。觸發器由觸發事件、觸發條件和觸發操作組成。觸發事件是指引起觸發器觸發的sql語句、數據庫事件或用戶事件;觸發操作是指包含sql語句和其他執行代碼的pl/sql塊,不僅可以使用pl/sql進行開發,也可以使用java語言和C語言進行開發。當觸發條件為true時,會自動執行觸發操作的相應代碼。注意事項:觸發器代碼的大小不能超過32k;觸發器代碼只能包含select、insert、update和delete語句,而不能包含ddl語句和事務控制語句。
posted on 2011-09-21 17:17
kxbin 閱讀(181)
評論(0) 編輯 收藏 所屬分類:
ORACLE