【20150622】雜項整理

A.alter命令相關:


1、更換列名,增加列,修改列類型,更換表名

ALTER TABLE (表名) ADD (列名 數據類型);   

ALTER TABLE (表名) RENAME (列名) TO (新列名);   

ALTER TABLE (表名) MODIFY (列名 數據類型);   

ALTER TABLE (當前表名) RENAME TO (新表名);  


2、更換表空間,索引空間


alter table (tablename) move tablespace (spacename);

alter index (indexname) rebuild tablespace (spacename);


3、增加分區,刪除分區,刪除分區數據

alter table [tname] add partition [parname] values('') tablespace [spname]; (列表分區類型,由於分區字段已經在建表時指定,此處僅指定對應值

值域分區的情況要考慮到邊界分區的情況,可以採用對邊界分區split 的形式進行添加:

alter table custaddr split partition p_other values('552') into (partition t_list552 tablespace icd_service, partition p_other tablespace icd_service);

表已更改。

--注意這裏紅色的地方,如果是Range類型的,使用atList使用Values

詳細參考

http://blog.csdn.net/hijiankang/article/details/9173877


刪除分區使用

alter table [tname] drop partition (pname);


對分區數據進行刪除使用

alter table [tname] truncate partition (pname);


4、增加約束

使用alter table [tname] add constraint [constraint type](....)

如 alter table student add constraint primary key (id);

alter table student add constraint primary key (id,name); --聯合主鍵

其他還有外鍵,唯一,非空等。


B.

ROW_NUMBER()OVER(PARTITION BY AC_ID ORDER BY NAME ASC) RN 返回排序值

其中partition by 後接分類值,類似group by


C.CASE WHEN


可用於指定變量的條件值判斷,或多個值多種條件聯合判斷(使用前注意邏輯包含關係)

CASE B22.DATA_CODE WHEN '0152' THEN '1'
         WHEN '0155' THEN '2'
         ELSE '3' END
--指定條件變量


       CASE WHEN LN_TX_TYPE ='1' THEN '1'
       WHEN LN_TX_TYPE IN ('2','4') THEN '2'
       ELSE '3'
       END TX_TYPE
--多條件


D.雜項的雜項

nvl函數:nvl(arg,value)代表如果前面的arg的值爲null那麼返回的值爲後面的value 

to_char對小於1的數轉換時會產生.234的情況,需要另外處理

如使用case when:

case substr(var,1,1) when '.' then '0'|| var

else var end

返回對此處理的結果。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章