oracle中设置主键id可以像mysql sqlserver那样直接设置吗 不用hibernate中的主键生成机制,oracle中有直接在建表时就设置主键为自动增长的吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没有,用系列-- 序列号的产生 create sequence row_id minvalue 1 maxvalue 9999999999999999999999 start with 1 increment by 1 insert into test values(row_id.nextval,....) 当前序列号row_id.currentval 嗯,頂樓上用序列多個表的number類型可以用同一個序列(有斷號) 序列比自动编号灵活多了吧????放心,序列是会话,事务一致性(不会被回滚,所有会话一致)。序列只有当一下三个情况才发生断号:1。多个表用一个序列。2。数据删除。3。序列启用了缓存机制,并且系统灾难发生,数据库没有机会写回序列号。但不用缓存机制,那个速度哟,伤心。序列再我看来,肯定比ms系列的数据库的自动编号字段灵活若干好比:你如果要知道下个保存进去的编号是多少,ms数据库你只要插入记录才能返回,oracle你直接放心的直接取 create sequence row_idminvalue 1maxvalue 99999999999start with 1incerment by 1 Oracle用的是sequence.Oracle的每个数据表还有一个隐含的ROWID字段,它绝对是唯一的。你可以用select语句查查看。 oracle将两个表关联成一个试图的问题(带图带语句)回帖有惊喜 几道DBA面试题,大家可以做一做 关于oracle 的问题 救命啊 查询速度的讨论 oracle9i 分布式建立步骤有哪些? 如何标记记录的多个状态,select的时候取余作为条件对性能影响大不大 oracle有没有文件操作的功能? 如果我刚刚delete了一张表,想把数据找回来,有没有办法呢? 自连接的问题 巨多表,主外键关系搞晕了... oracle中值为NULL的查询问题
create sequence row_id
minvalue 1
maxvalue 9999999999999999999999
start with 1
increment by 1 insert into test values(row_id.nextval,....)
当前序列号row_id.currentval
多個表的number類型可以用同一個序列(有斷號)
放心,序列是会话,事务一致性(不会被回滚,所有会话一致)。
序列只有当一下三个情况才发生断号:
1。多个表用一个序列。
2。数据删除。
3。序列启用了缓存机制,并且系统灾难发生,数据库没有机会写回序列号。但不用缓存机制,那个速度哟,伤心。序列再我看来,肯定比ms系列的数据库的自动编号字段灵活若干
好比:你如果要知道下个保存进去的编号是多少,ms数据库你只要插入记录才能返回,oracle你直接放心的直接取
create sequence row_id
minvalue 1
maxvalue 99999999999
start with 1
incerment by 1