我有多个唯一密钥,我希望数据库中没有重复但是在实现后生成重复 我唯一的密钥是TELEPHONE,EMAIL和CODE。
代码由SQL Devloper生成。
CREATE TABLE CUSTOMERMASTER
(
NAME VARCHAR2(20 BYTE) NOT NULL
, CODE NUMBER NOT NULL
, ADDRESS VARCHAR2(50 BYTE)
, TELEPHONE NUMBER
, EMAIL VARCHAR2(20 BYTE)
)
LOGGING
TABLESPACE SYSTEM
PCTFREE 10
PCTUSED 40
INITRANS 1
STORAGE
(
INITIAL 65536
NEXT 1048576
MINEXTENTS 1
MAXEXTENTS UNLIMITED
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
)
NOPARALLEL;
ALTER TABLE CUSTOMERMASTER
ADD CONSTRAINT CUSTOMERMASTER_UK1 UNIQUE
(
TELEPHONE
, EMAIL
, CODE
)
DISABLE;
答案 0 :(得分:3)
如果您需要唯一的电子邮件,唯一电话和唯一代码,则代码为:
ALTER TABLE CUSTOMERMASTER
ADD CONSTRAINT CUSTOMERMASTER_UK_TEL UNIQUE
(
TELEPHONE
)
;
ALTER TABLE CUSTOMERMASTER
ADD CONSTRAINT CUSTOMERMASTER_UK_EMAIL UNIQUE
(
EMAIL
)
;
ALTER TABLE CUSTOMERMASTER
ADD CONSTRAINT CUSTOMERMASTER_UK_CODE UNIQUE
(
CODE
)
;
如果您想要将电话,电子邮件和代码结合在一起,那么约束就可以了,您只需将其启用即可。