Так как многие из вас знают, в DB2 вы можете сказатьУсловный уникальное ограничение для DB2
ALTER TABLE EMPLOYEE
ADD CONSTRAINT NEWID UNIQUE(EMPNO,HIREDATE)
Можете ли вы сказать что-то вроде
ALTER TABLE EMPLOYEE
ADD CONSTRAINT NEWID UNIQUE(EMPNO,HIREDATE,ACTIVE = 'Y')
Я только заботиться о ограничении, если строка активный. Похоже, вы можете сделать это в MSSQL, но не в DB2 ... Err, ворчит ворчать.
Это зависит от выпуска и/или «вкуса» DB2. С DB2 for i в 6.1 и более поздних версиях вы можете «СОЗДАТЬ УНИКАЛЬНЫЙ ИНДЕКС x ... WHERE search-condition», чтобы иметь условную уникальность. – user2338816