我正在使用Oracle 12c,並且我有一個IDENTITY
列設置爲GENERATED ALWAYS
。我需要一個帶有Oracle標識列的主鍵嗎?
CREATE TABLE Customers
(
id NUMBER GENERATED ALWAYS AS IDENTITY,
customerName VARCHAR2(30) NULL,
CONSTRAINT "CUSTOMER_ID_PK" PRIMARY KEY ("ID")
);
由於ID是自動從一個序列,它將始終是唯一的。
我是否需要ID列上的PK,如果是,是否會影響性能? 索引是否會在INSERT
上產生相同的結果並具有更好的性能?
實際上,您無法插入「GENERATED ALWAYS IDENTITY」列。然而,你關於唯一性約束的觀點是正確的。 –
@jefry你沒有明白我的觀點。意思是說,PK列不需要是身份,你可以自己插入鍵值 – Rahul
沒問題,我已經編輯它來使你的意思更清晰。 –