2012-01-21 73 views

回答

51

報價Java Persistence/Identity and Sequencing

身份測序使用特殊身份列在數據庫中,以允許數據庫插入其行,當一個ID自動分配給對象。許多數據庫都支持標識列,例如MySQL,DB2,SQL Server,Sybase和Postgres。 Oracle不支持IDENTITY列,但可以通過使用序列對象和觸發器來模擬它們。

用簡單的英文表示:您在表格中最多標記一個ID列作爲IDENTITY。數據庫引擎將自動爲您提供下一個可用的值。

和:

序列對象使用特殊的數據庫對象生成的ID。序列對象僅在某些數據庫中受支持,如Oracle,DB2和Postgres。通常,SEQUENCE對象具有名稱,INCREMENT和其他數據庫對象設置。每次選擇<sequence>.NEXTVAL時,序列都會遞增INCREMENT。

序列更靈活,稍微複雜一些。您可以在數據庫中定義一個額外的對象,位於表格,觸發器等稱爲的序列。序列基本上是命名計數器,您可以在查詢內部的任

+0

[Oracle自12c版以來支持IDENTITY策略](https://oracle-base.com/articles/12c/identity-columns-in-oracle-12cr1) – user11153

相關問題