无论顺序如何,对两列的唯一约束 - Oracle

Unique constraint on two columns regardless of order - Oracle

免责声明:我看过类似的问题,它是不同的。

我们必须创建一个航班 table,其中包含 'DEPART' 和 'ARRIVE' 条目(即 3 个长字符(从 LON 到 LAX 的航班)和距离,以及其他条目等。 主要约束是,无论顺序如何,DEPART 和 ARRIVE 对都应该是唯一的(方向无关紧要)。 我知道我可以做但我们不允许(所以不建议):

那么如何检查 table 中是否存在一对?我得说这不是用于工业任务,而是用于大学科目。我们使用 Oracle SQLDeveloper 来完成这项任务。 先感谢您! 问候。

Oracle 支持表达式索引,因此:

create index unq_t_from_to on t(least(from, to), greatest(from, to))

(当然,fromto是SQL中的关键词,所以不太适合作为列名。)