我很惊讶地发现oracle没有“自动编号”数据类型。有没有办法使用自动编号数据类型,因为我们在MS访问中有这种数据类型?oracle是否有“自动编号”数据类型
0
A
回答
6
This blog post描述了该功能的选项。
关键要素在下面引用,但帖子进入更深入。
create sequence test_seq start with 1 increment by 1 nomaxvalue;
其次
insert into test values(test_seq.nextval, 'voila!');
OR
create trigger test_trigger before insert on test for each row begin select test_seq.nextval into :new.id from dual; end;
3
我n你使用一个序列的oracle。您可以拥有任意数量的序列,并使用它们中的任何一个将唯一编号分配给任何表中的任何字段,或者只需调用一个将一个编号分配给变量。
SQL> CREATE SEQUENCE demo_seq INCREMENT BY 1 MAXVALUE 999999999999999999999999999 MINVALUE 0 NOCACHE;
Sequence created.
SQL> select demo_seq.nextval from dual;
NEXTVAL
----------
0
SQL> select demo_seq.nextval from dual;
NEXTVAL
----------
1
SQL> select demo_seq.nextval from dual;
NEXTVAL
----------
2
SQL> select demo_seq.currval from dual;
CURRVAL
----------
2
参考文献:
http://www.techonthenet.com/oracle/sequences.php
http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_6015.htm
+0
为什么不是nomaxvalue? –
+1
NOMAXVALUE在我的特定示例中更有意义,但我想表明此参数存在(如果读者决定不遵循我的链接),因此它可用于任何必要的目的。 –
相关问题
- 1. Oracle编号数据类型
- 2. C#和Oracle编号数据类型
- 3. Oracle号码数据类型
- 4. 自动检测Oracle数据类型
- 5. Oracle列是否有自动修改时间戳记类型?
- 6. 将自动编号字段更改为数字数据类型
- 7. Oracle号码数据类型问题
- 8. Oracle Lite数据库10g是否支持空间数据类型?
- 9. 将ID转换为自动编号数据类型的代码是什么?
- 10. oracle数据类型
- 11. MSAccess上的返回ID,并具有自动编号(java)的数据类型
- 12. CAN数据是否有MIME类型?
- 13. NULL是否有数据类型?
- 14. msvc数据类型字是有符号还是无符号?
- 15. Oracle数字数据类型
- 16. 什么是MLSLABEL Oracle数据类型?
- 17. Oracle APEX,自动编号不起作用?
- 18. Oracle触发器创建自动编号
- 19. 数据库自动编号或自定义编号
- 20. Oracle是否为Number数据类型存储尾随零?
- 21. 标准表达式c#中使用访问数据类型的数据类型不匹配自动编号
- 22. 对数据表设置自动编号后,已经有数据
- 23. Oracle 10gR2 CLOB数据类型
- 24. Oracle数据类型错误
- 25. Oracle 12.1数据类型
- 26. Oracle标识数据类型
- 27. Oracle PL/SQL数据类型
- 28. oracle数据类型问题
- 29. log4j - 是否有提供自动编号功能?
- 30. Haskell自定义数据类型,实例编号和冗余
大多数更大的RDBMS不具备被称为 “自动编号” 的数据类型。主要是因为一个自动编号通常是一个整数。在SQL Server中,您可以执行其他操作来自动修改数字,而不是将其数据类型设置为神奇的“自动编号”。 –
序列比自动编号更灵活/功能强大/可伸缩 –
序列谢谢现在ANSI。 SQL Server“Denali”最终将支持Oracle,PostgreSQL和DB2。 –