我正在使用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
没问题,我已经编辑它来使你的意思更清晰。 –