Imam tablicu u kojoj su već upisani podaci. Postavio se zahtjev da se dva polja stave kao UNIQUE (npr. UserID i AddressID). Nakon što napišem skriptu
Code:
ALTER TABLE [dbo].[Test] WITH NOCHECK ADD CONSTRAINT [UC_Test] UNIQUE NONCLUSTERED
(
[UserID] ASC,
[AddressID] ASC
)
ALTER TABLE [dbo].[Test] WITH NOCHECK ADD CONSTRAINT [UC_Test] UNIQUE NONCLUSTERED
(
[UserID] ASC,
[AddressID] ASC
)
dobivam slijedeću poruku
Code:
Msg 1505, Level 16, State 1, Line 1
The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name 'dbo.Test' and the index name 'UC_Test'. The duplicate key value is (1).
Msg 1750, Level 16, State 0, Line 1
Could not create constraint. See previous errors.
The statement has been terminated.
Msg 1505, Level 16, State 1, Line 1
The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name 'dbo.Test' and the index name 'UC_Test'. The duplicate key value is (1).
Msg 1750, Level 16, State 0, Line 1
Could not create constraint. See previous errors.
The statement has been terminated.
Iako sam dodao WITH NOCHECK poruka s greškom se svejedno pojavljuje. Nakon što sam istu skriptu pustio na bazi koja nema duple vrijednosti u ova dva polja sve normalno prođe.
Koristim SQL SERVER 2005, SERVICE PACK 2. Prema svemu tome ova opcija mi ništa ne koristi jer kad imam duple slogove onda ne radi, a inače radi kad nema duplih slogova. Prošao sam google i dosta foruma
i nigdje nema zadovoljavajućeg riješenja. Ima li tko kakvu ideju?











Kreiranje unique constrainta s opcijom with nocheck