原创作品,出自 “深蓝的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(2):安装!安装!久违的记忆,引起我对DBA的重新认知
蓝的成长记——追逐DBA(3):古董上操作,数据导入导出成了问题
蓝的成长记——追逐DBA(4):追忆少年情愁,再探oracle安装(Linux下10g、11g)
蓝的成长记——追逐DBA(5):不谈技术谈业务,恼人的应用系统
蓝的成长记——追逐DBA(6): 做事与做人:小技术,大为人
蓝的成长记——追逐DBA(8):重拾SP报告,回忆oracle的STATSPACK实验
蓝的成长记——追逐DBA(9):国庆渐去,追逐DBA,新规划,新启程
蓝的成长记——追逐DBA(10):飞刀防身,熟络而非专长:摆弄中间件Websphere
蓝的成长记——追逐DBA(11):回家后的安逸,晕晕乎乎醒了过来
蓝的成长记——追逐DBA(13):协调硬件厂商,六个故事:所见所感的“服务器、存储、交换机......”
蓝的成长记——追逐DBA(14):难忘的“云”端,起步的hadoop部署
蓝的成长记——追逐DBA(15):以为FTP很“简单”,谁成想一波三折
******************************************************************************************************************
********************************************足球与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):伴随建库的亚洲杯——加油中国队
******************************************************************************************************************