如何创建2列且为一列指定值的唯一约束?

时间:2019-06-03 17:35:08

标签: unique-constraint

我想在具有2列的表之一上创建唯一索引,其中将指定一列的值。我的表中有两列INVOICE_NUMBER,INVOICE_PROCESS_STATUS。我想要将INVOICE_NUMBER和INVOICE_PROCESS_STATUS作为“ SUCCESS”的唯一记录。对于具有此组合的所有其他记录,不应在表中插入。如果出现任何此类记录,则应使INVOICE_PROCESS_STATUS为“ FAILED”,并且使该记录的REASON_CODE =“ DUPLICATE RECORD”。我能做到吗?

我试图创建以下提到的索引。 更改表SCF_INVOICE添加约束SCF_INVOICE_UK1唯一(INVOICE_NUMBER,INVOICE_PROCESS_STATUS) 启用;

插入   进入SCF_INVOICE     (       INVOICE_ID,       发票号码,       INVOICE_DUE_DATE,       货币,       量,       BUYER_ID,       SUPPLIER_ID,       PROGRAM_CODE,       INVOICE_REF_NO,       REASON_CODE,       INV_ACCEPTANCE_DATE,       INVOICE_STATUS,       INVOICE_PROCESS_STATUS,       FILE_REF,       发票日期,       PRE_ACCEPTED,       IS_DISPUTED     )     价值     (       410023,       'INVPEGA001',       to_date('29 -MAY-19','DD-MON-RR'),       '美元',       10000,       'Cust001',       '000962',       'PEGASUPF',       'INV379884',       空值,       to_date('01 -APR-19','DD-MON-RR'),       '公认',       '成功',       'FR0465',       to_date('01 -JUL-19','DD-MON-RR'),       'Y',       'N'     );  对于下一次插入,它应将此记录作为INVOICE_PROCESS_STATUS插入为“ FAILED”。

0 个答案:

没有答案