Jak utworzyć unikalne ograniczenie dla istniejącej tabeli w SQL Server 2005?
Szukam zarówno TSQL, jak i jak to zrobić na schemacie bazy danych.
sql
sql-server
constraints
David Basarab
źródło
źródło
W SQL Server Management Studio Express:
źródło
źródło
Ostrzeżenie: w kolumnie, którą ustawiłeś jako unikalną, może znajdować się tylko jeden pusty wiersz.
Możesz to zrobić za pomocą filtrowanego indeksu w SQL 2008:
Zobacz Wartość pola musi być unikalna, chyba że dla zakresu odpowiedzi jest NULL .
źródło
źródło
Odkryłem również, że możesz to zrobić za pomocą diagramów bazy danych.
Klikając prawym przyciskiem myszy tabelę i wybierając Indeksy / klucze ...
Kliknij przycisk „Dodaj” i zmień kolumny na kolumny, które chcesz uczynić wyjątkowymi.
Zmiana jest wyjątkowa na „Tak”.
Kliknij zamknij i zapisz diagram, a doda go do tabeli.
źródło
Szukasz czegoś takiego
Dokumenty MSDN
źródło
Aby utworzyć ograniczenie UNIQUE w jednej lub wielu kolumnach, gdy tabela jest już utworzona, użyj następującego kodu SQL:
Aby umożliwić nazewnictwo ograniczenia UNIQUE dla powyższego zapytania
Zapytanie obsługiwane przez MySQL / SQL Server / Oracle / MS Access.
źródło
UNIQUE NONCLUSTERED
i opcjePAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON
?Na schemacie studia zarządzania wybierz tabelę, kliknij prawym przyciskiem myszy, aby dodać nową kolumnę, jeśli chcesz, kliknij kolumnę prawym przyciskiem myszy i wybierz „Sprawdź ograniczenia”, tam możesz ją dodać.
źródło
W niektórych sytuacjach może być pożądane upewnienie się, że klucz unikalny nie istnieje przed jego utworzeniem. W takich przypadkach poniższy skrypt może pomóc:
źródło