一尘不染

在两个varchar字段上创建Unqiue不区分大小写的约束

sql

在Oracle 10g中,如何在两个varchar字段上添加唯一的不区分大小写的约束?例如,给定表中已存在以下记录:

"Stephen", "Swensen"
"John", "Smith"

以下插入内容将无效:

"stephen", "Swensen"
"John", "smith"
"stephen", "swensen"

但是以下插入内容将是有效的:

"Stephen", "Smith"
"John", "Swensen"

阅读 154

收藏
2021-03-10

共1个答案

一尘不染

假设您的表名为 person ,名字和姓氏列称为 first_namelast_name ,请添加以下唯一约束:

ALTER TABLE person ADD CONSTRAINT person_name_unique
    UNIQUE(LOWER(first_name),LOWER(last_name));

让我知道我是否正确理解了您的问题,并对表布局做出了正确的假设。

2021-03-10