我需要使用 Oracle 在多个列上创建一个条件唯一约束,但我没有这样做。
以下是我现在拥有的,但它不起作用:
基本上,我的条件唯一约束需要在 a = 1 的一个条件下处理列的组合。
alter table <table_name> add constraint <constraint_name> unique (<column_1>, <column_2>, a = 1);
当我运行这个 alter 语句时,我收到此错误:
ORA-00907: missing right parenthesis
我相信
这就足够了:
create unique index <index_name> on <table_name> (case when a = 1 then <column_1> end,
case when a = 1 then <column_2> end);