如何根據Oracle
中特定列的值獲取多個序列;即對於該列的每個不同值,新的Sequence
。自動增量組合密鑰Oracle
表是:
CREATE TABLE TEST
(
TYPE VARCHAR2(20) NOT NULL ,
SERIAL_NUM INT NOT NULL,
CONSTRAINT TEST_PK PRIMARY KEY
(
TYPE,
SERIAL_NUM
)
ENABLE
);
此鏈接:How to create id with AUTO_INCREMENT on Oracle?
示出了如何產生自動增量Sequence
假定主鍵是一個屬性。 如何爲TYPE
列中的每個唯一值分別有Sequence
?
我想在TYPE
創建多個Sequences
對於每個可能的值,對於每個Sequence
創建Trigger
和添加if
條件基於TYPE
列值調情。但是,我意識到這不是正確的方法,因爲我需要爲新增的TYPE
創建新的Sequence
和Trigger
。
採樣數據應類似於以下內容:
TYPE SERIAL_NUM
X 1
X 2
X 3
Y 1
Y 2
Z 1
Z 2
Z 3
Z 4
任何建議...
什麼能阻止你對所有類型使用單一序列? –
你想解決什麼商業問題?你爲什麼要求必須有一行,'type' A的'serial_num'爲1,而'type' B的另一行'serial_num'爲1?使'serial_num'值是唯一的,你會遇到什麼問題?希望你沒有試圖創造一個沒有差距的價值觀...... –
其實,沒有什麼能夠阻止我爲每件商品擁有唯一的序列號。我在問是否可能。此外,讓我想到的是,我擁有屬於主鍵的「類型」列,我認爲數據將更加有組織,並且更容易通過@FrankSchmitt @JustinCave – Salman