我很驚訝地發現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。 –