Ste*_*sen 9 sql oracle10g unique-constraint
在Oracle 10g中,如何在两个varchar字段上添加唯一的不区分大小写的约束?例如,给定表中已有的以下记录:
"Stephen", "Swensen"
"John", "Smith"
Run Code Online (Sandbox Code Playgroud)
以下插入无效:
"stephen", "Swensen"
"John", "smith"
"stephen", "swensen"
Run Code Online (Sandbox Code Playgroud)
但是以下插入是有效的:
"Stephen", "Smith"
"John", "Swensen"
Run Code Online (Sandbox Code Playgroud)
我已经设法让它工作:
CREATE UNIQUE INDEX person_name_upper ON person(
UPPER(first_name), UPPER(last_name));
Run Code Online (Sandbox Code Playgroud)
假设您的表名为person,并且名字和姓氏列名为first_name和last_name,请添加以下唯一约束:
ALTER TABLE person ADD CONSTRAINT person_name_unique
UNIQUE(LOWER(first_name),LOWER(last_name));
Run Code Online (Sandbox Code Playgroud)
如果我正确理解您的问题并对您的表格布局做出正确的假设,请告诉我.
归档时间: |
|
查看次数: |
9666 次 |
最近记录: |