資料清洗小記:主鍵類ID欄位的產生,小記欄位
原創作品,出自 “深藍的blog” 部落格,歡迎轉載,轉載時請務必註明出處,否則有權追究著作權法律責任。
深藍的blog:http://blog.csdn.net/huangyanlong/article/details/46340623
【背景】
在由源端抽取資料插入目標端後,需要建立一個主鍵ID欄位。
【解決】
方法一、使用sys_guid()函數產生32位的隨記數
例如向emp表中,建立一個欄位,並且設定欄位預設值為用sys_guid()函數自動產生一個32位不重複的隨機數。
alter table EMP add ID varchar2(32) default sys_guid();
方法二、使用觸發器每插入一條自動遞增序列
例如每次向emp1表新插入一條資料之前,先插入一個ID值。其中seq_idadd是事先已經建立的序列,可以自行定義該序列的起始值、方差值等。
create or replace trigger tr_IDADD
before insert on emp1
for each row
begin
select seq_idadd.nextval into :new.id from dual;
end;
方法三、拼接
例如某ID主鍵是通過源端業務欄位的拼接形成的,例如:
來源ID號||to_char(sysdate, 'yyyymmdd')||lpad(NEXTNUM.Nextval,10,0)
我們假設來源ID號為12位的話,這樣就截取了一個12+8+10=30位的主鍵編號。
【實驗】
使用sys_guid擷取ID值,如下:
通過觸發器,每新增一條資料,ID以1遞增,如下:
通過拼接獲得主鍵ID,如下:
小知識,簡而記之。
*******************************************藍的成長記系列_20150523*************************************
原創作品,出自 “深藍的blog” 部落格,歡迎轉載,轉載時請務必註明出處(http://blog.csdn.net/huangyanlong)。
藍的成長記——追逐DBA(1):奔波於路上,挺進山東
藍的成長記——追逐DBA(2):安裝!安裝!久違的記憶,引起我對DBA的重新認知
藍的成長記——追逐DBA(3):古董上操作,資料匯入匯出成了問題
藍的成長記——追逐DBA(4):追憶少年情愁,再探oracle安裝(Linux下10g、11g)
藍的成長記——追逐DBA(5):不談技術談業務,惱人的應用系統
藍的成長記——追逐DBA(6): 做事與做人:小技術,大為人
藍的成長記——追逐DBA(7):基礎命令,地基之石
藍的成長記——追逐DBA(8):重拾SP報告,回憶oracle的STATSPACK實驗
藍的成長記——追逐DBA(9):國慶漸去,追逐DBA,新規劃,新啟程
藍的成長記——追逐DBA(10):飛刀防身,熟絡而非專長:擺弄中介軟體Websphere
藍的成長記——追逐DBA(11):回家後的安逸,暈暈乎乎醒了過來
藍的成長記——追逐DBA(12):七天七收穫的SQL
藍的成長記——追逐DBA(13):協調硬體廠商,六個故事:所見所感的“伺服器、儲存、交換器......”
藍的成長記——追逐DBA(14):難忘的“雲”端,起步的hadoop部署
藍的成長記——追逐DBA(15):以為FTP很“簡單”,誰成想一波三折
藍的成長記——追逐DBA(16):DBA也喝酒,被捭闔了
******************************************************************************************************************
********************************************足球與oracle系列_20150528***********************************
原創作品,出自 “深藍的blog” 部落格,歡迎轉載,轉載時請務必註明出處(http://blog.csdn.net/huangyanlong)。
足球與oracle系列(1):32路諸侯點兵,oracle32進程聯盟 之A組巴西SMON進程的大局觀
足球與oracle系列(2):巴西揭幕戰預演,oracle體繫結構雜談
足球與oracle系列(3):oracle進程排名,世界盃次回合即將戰罷!
足球與oracle系列(4):從巴西慘敗於德國,想到,差異的RAC拓撲對比!
足球與oracle系列(5):fifa14遊戲缺失的directX庫類比於oracle的rpm包!
足球與oracle系列(6):伴隨建庫的亞洲杯——加油中國隊
******************************************************************************************************************