Oracle 10g:假设下表(T_REGISTER):
ID_PROCESS PERIOD CUSTOMER STATUS
===========================================
0001234 201801 12300344 INVALID
0001236 201801 12300344 INVALID
0001246 201801 12300344 UNPAID
0001249 201801 12300344 UNPAID
0001278 201801 12300344 COMPLETED
ID_PROCESS 是 PK。但我还需要 (PERIOD + CUSTOMER + STATUS) 在 STATUS 完成时是唯一的。
换句话说,对于一个 UNIQUE (PERIOD + CUSTOMER),我不在乎有几个 INVALID 或 UNPAID 行,但我只能承认一个唯一的 (PERIOD;CUSTOMER; STATUS="COMPLETED")
在寻求触发解决方案之前使用 CHECK CONSTRAINT 的任何优雅解决方案?提前致谢...