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