Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ID_PROCESS PERIOD CUSTOMER STATUS
- ===========================================
- 0001234 201801 12300344 INVALID
- 0001236 201801 12300344 INVALID
- 0001246 201801 12300344 UNPAID
- 0001246 201801 12300344 UNPAID
- 0001278 201801 12300344 COMPLETED
- create table test1(ID_PROCESS int , PERIOD int, CUSTOMER int, STATUS varchar2(20));
- create unique index idxu1_test1 on test1
- (case when STATUS ='COMPLETED' then PERIOD else null end,
- case when STATUS ='COMPLETED' then CUSTOMER else null end
- );
- insert into test1(ID_PROCESS ,PERIOD, CUSTOMER , STATUS )
- values (1,1,1, 'invalid'); -- ok
- insert into test1(ID_PROCESS ,PERIOD, CUSTOMER , STATUS )
- values (2,1,1, 'invalid'); -- ok
- insert into test1(ID_PROCESS ,PERIOD, CUSTOMER , STATUS )
- values (3,1,1, 'invalid'); -- ok
- insert into test1(ID_PROCESS ,PERIOD, CUSTOMER , STATUS )
- values (4,1,1, 'COMPLETED'); -- ok
- insert into test1(ID_PROCESS ,PERIOD, CUSTOMER , STATUS )
- values (5,1,1, 'COMPLETED'); -- ORA-00001: unique constraint violated
Add Comment
Please, Sign In to add comment