我需要做约束,不要让这两行插入:
INSERT INTO table1
VALUES('LON','BUD',2000, SYSDATE);
INSERT INTO table1
VALUES('BUD','LON',2000, SYSDATE);
INSERT INTO table1
VALUES('LON','BUD',2000, SYSDATE);
所以在我看来LON,BUD等于BUD,LON
如果我需要插入例如:LON - BUD,BUD-LON,BUD-MAD ......来自另一张桌子如何在插入之前检查它?
答案 0 :(得分:3)
您可以使用基于函数的索引执行此操作:
create unique index table1_col1_col2 on table1(least(col1, col2), greatest(col1, col2));
或者,您可以添加col1 < col2
约束并在col1, col2
上创建唯一索引。您可以通过添加插入/更新触发器来增强此功能,以便在以“错误”顺序给出时交换值。