(一):序列【Sequence】
? ? ? ? a. 創(chuàng)建序列:?create sequence 序列名 [參數(shù)列表]
? ? ? ? b. 查詢序列:?
? ? ? ? ? ? ? ? 1).查詢當(dāng)前用戶擁有的序列? :?select * from user_sequences?
? ??????????????2).查詢序列當(dāng)前值莲趣、下一個值 :?nextval【主要用于id新增自增長】 和currval?
? ? ? ? ? ? ? ? ? select user_seq.nextval from dual? ?每次使用,序列的值,都會根據(jù)序列規(guī)則進行增加
? ? ? ? ? ? ? ? ? select user_seq.currval from dual? ? 使用序列后的當(dāng)前值
? ? ? ? c. 修改序列:?alter sequence 序列名? [參數(shù)列表]??起始值無法修改.
? ? ? ? d. 刪除序列:?drop sequence 序列名
(二):索引【Index】
? ? ? ? a. 創(chuàng)建索引:?create index 索引名 on 表名 (列名....)
? ? ? ? ??查詢當(dāng)前用戶擁有的索引,通過數(shù)據(jù)字典查詢(user_indexes) :? select * from user_indexes
? ???????b. 刪除索引:?drop index 索引名
? ? ? ? c. 造成索引失效的情況
? ??????????????????通配符檢索【%value%】?-->? ?value%?
? ? ? ? ? ? ? ? ? ? 使用?not?或? <>? 檢索? ? ?-->? ? ? line > a or line <b
? ? ? ? ? ? ? ? ? ? 使用?is null /? is? not? null?檢索? ?
(三):同義詞【Synonym】
? ??????????可替換表名绷跑、視圖名、序列名和存儲過程名或其它對象名
? ?????????a. 創(chuàng)建同義詞:?create synonym 同義詞名 for 數(shù)據(jù)對象(表/視圖.....)
? ?????????b. 刪除同義詞:?drop synonym 同義詞名
(四):視圖【View】
? ?????????a. 創(chuàng)建視圖:create or replace view? 視圖名稱? as 子查詢?
create or replace view user_zhang as select * from? ts_user t where t.um like '張%';
? ??????? ?b. 限定視圖只讀:create or replace view 視圖名稱? as 子查詢? ?with? read? only
? ? ? ? ? ? ? ? ? 注:未設(shè)定只讀,視圖可進行 增刪改查 操作? (與操作數(shù)據(jù)庫表一樣)
? ????? ? ?c. 刪除視圖?:?drop view 視圖名
(五):存儲過程【Procedure】
? ????????a. 簡單版存儲過程:
? ? ? ? ? ? ? ? ? ? 注:調(diào)用存儲過程 :?call 存儲過程名稱()
?????????b.?存儲過程變量與語法
? ??????????存儲過程的變量:
? ? ? ? ? ? ? ? ? ? 1: 定義變量 :變量名? 變量類型(長度);?
? ? ? ? ? ? ? ? ? ? ? ? ? ?要求:?(1)、在begin程序體前聲明變量卧秘,變量必須先聲明后使用钓瞭; ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2)袍嬉、變量具有數(shù)據(jù)類型和長度颁井,與ORACLE的數(shù)據(jù)類型保持一致
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(3)厅贪、變量可以通過select into的方式賦值,也可以通過:=賦值
????????????????????2: 變量l類型 :?普通數(shù)據(jù)類型(char,varchar2,date,number,boolean,long)
????????????????????????????????????????????????特殊變量類型(引用型變量雅宾,記錄型變量)
? ? ? ? ?引用變量 :?變量名?表名.列名%TYPE記錄型變量:變量名稱 表名%ROWTYPR
? ? ? ????????存儲過程的語法:
? ???????c.?游標(biāo)
? ? ?用于臨時存儲一個查詢返回的多行數(shù)據(jù),通過遍歷游標(biāo)养涮,可以逐行訪問處理該結(jié)果集的數(shù)據(jù)
? ? ?游標(biāo)的使用方式:聲明——>打開——>讀取——>關(guān)閉
? ? ? ? ? ? 游標(biāo)實現(xiàn)方式:
? ? ? ? ? ? ? ? ? ?(1): 顯式游標(biāo)實現(xiàn)方式(可多值)
? ? ? ? ? ? ? ? ?(2):?隱式游標(biāo)(可以實現(xiàn)查詢多值)
? ? ? ? ? ? ? ? ?(3):帶有參數(shù)的游標(biāo)(可實現(xiàn)查詢多值)
(六):常用函數(shù)
? ????????a. 常用的統(tǒng)計函數(shù):
? ? ? ? ? ? b.?日期函數(shù):
? ? ? ? ? ? ? ? 計算兩個日期相差天數(shù):? ROUND(TO_NUMBER(END_DATE - START_DATE))
? ? ? ? ? ? ? ? 指定日期,添加 n 月:?ADD_MONTHS(d,n)??d?表示日期眉抬,n?表示要加的月數(shù)
? ??????????????當(dāng)月的最后一天:?LAST_DAY(d)?
? ??????????????提取日期中的特定部分 :?EXTRACT(fmt?FROM?d)? ??fmt :YEAR /MONTH/DAY/HOUR?
? ? ? ? ? ? c. 字符操作函數(shù):
? ? ? ? ? ? ? ? ? 連接字符串X和Y :???CONCAT(X,Y)
? ????????????????X轉(zhuǎn)換成小寫/大寫 :? ?LOWER(X)? ?贯吓、?UPPER(X)
? ? ? ? ? ? ? ? ? ?缺省截去空格:?TRIM([TRIM_STR??FROM]X)
? ? ? ? ? ? ? ? ? ?替換字符:?REPLACE(X,old,new)
? ??????????????????截取字符:?SUBSTR(X,start[,length])
? ? ? ? ? ? d. 轉(zhuǎn)換函數(shù)?
? ? ? ? ? ? ? ? ? 轉(zhuǎn)換為字符串:?TO_CHAR(d|n[,fmt])
? ?SELECT?TO_CHAR(SYSDATE,'YYYY"年"MM"月"DD"日"?HH24:MI:SS')"date"?FROM?dual;
????SELECT?TO_CHAR(-123123.45,'9.9')"date"?FROM?dual;
? ? ? ? ? ? ? ? ? ?字符串轉(zhuǎn)日期 :?TO_DATE(X,[,fmt])
? ? ? ? ? ? ? ? ? ? 字符串轉(zhuǎn)數(shù)字 :?TO_NUMBER(X,[,fmt])
? ? ? ? ? ? e. 轉(zhuǎn)換函數(shù)?
? ? ? ? ? ? ? ? ? 絕對值 :?abs(value)?
? ? ? ? ? ? ? ? ? 截斷:??trunc(value,n)? ?n>0,留n位小數(shù)蜀变;n<0悄谐,則留-n位整數(shù)位;n=0库北,則去掉小數(shù)
? ? ? ? ? ? ? ? ? ?四舍五入:?round(value,n)?
(七):異常處理
(八):案例