Как создать уникальное ограничение с 2 столбцами и значением, указанным для одного столбца? - PullRequest
0 голосов
/ 03 июня 2019

Я хочу создать Уникальный индекс по одной из таблиц с 2 столбцами, где будет указано значение для одного столбца.В моей таблице есть два столбца: INVOICE_NUMBER, INVOICE_PROCESS_STATUS.Я хочу уникальную запись с INVOICE_NUMBER и INVOICE_PROCESS_STATUS как "SUCCESS".Для всех дальнейших записей с этой комбинацией не следует вставлять в таблицу.Если какая-либо такая запись приходит, она должна сделать INVOICE_PROCESS_STATUS «FAILED» и REASON_CODE = «DUPLICATE RECORD» для этой записи.Могу ли я добиться этого?

Я пытался создать нижеупомянутый индекс.ALTER TABLE SCF_INVOICE ADD CONSTRAINT SCF_INVOICE_UK1 UNIQUE (INVOICE_NUMBER, INVOICE_PROCESS_STATUS) ВКЛЮЧИТЬ;

1004 * INSERT INTO SCF_INVOICE (INVOICE_ID, INVOICE_NUMBER, INVOICE_DUE_DATE, ВАЛЮТА, СУММА, BUYER_ID, SUPPLIER_ID, PROGRAM_CODE, INVOICE_REF_NO, REASON_CODE, INV_ACCEPTANCE_DATE, INVOICE_STATUS, INVOICE_PROCESS_STATUS,FILE_REF, INVOICE_DATE, PRE_ACCEPTED, IS_DISPUTED) VALUES (410023, 'INVPEGA001', to_date ('29 -MAY-19 ',' DD-MON-RR '),' USD ', 10000,' Cust001 ',' 000962 ','PEGASUPF ',' INV379884 ', NULL, to_date ('01 -APR-19', 'DD-MON-RR'), 'ACCEPTED', 'SUCCESS', 'FR0465', to_date ('01 -JUL-19 ','DD-MON-RR'), 'Y', 'N');Для следующей вставки он должен вставить эту запись как INVOICE_PROCESS_STATUS как «FAILED».
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...