ORACLE中NUMBER(12)类型的ID号,多人插入操作,取唯一值。

Mr Dang 2014-12-25 09:16:43
ORACLE中有个表的 字段名ID ,类型为NUMBER(12),多人同时Insert时取下一个ID,同时要保证ID的唯一性,不能改表结构。
(现在多人INSERT同时Insert的时候,ID号不是唯一的,要改)
请教怎么实现?
...全文
412 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lon3991 2014-12-29
  • 打赏
  • 举报
回复
序列发生器就是干这事的, sql server 好像没有序列发生器吧!
rokerker 2014-12-29
  • 打赏
  • 举报
回复
sequence 没错的
卖水果的net 2014-12-27
  • 打赏
  • 举报
回复

SQL> create table x(id number(12))  ;

表已创建。

SQL> insert into x(id) select nvl(max(id),0) + 1 from x ;

已创建 1 行。

SQL> /

已创建 1 行。

SQL> /

已创建 1 行。

SQL> /

已创建 1 行。

SQL> select * from x ;

        ID
----------
         1
         2
         3
         4

SQL>


飃颻 2014-12-26
  • 打赏
  • 举报
回复
引用 1 楼 bw555 的回复:
建一个序列,然后id从序列中取
有道理!
bw555 2014-12-25
  • 打赏
  • 举报
回复
建一个序列,然后id从序列中取

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧