it-swarm-eu.dev

SQL Server 2005 Jak vytvořit jedinečné omezení?

Jak vytvořit jedinečné omezení existující tabulky v SQL Server 2005?

Hledám jak TSQL, tak jak to udělat v databázovém diagramu.

180
David Basarab

Příkaz SQL je:

ALTER TABLE <tablename> ADD CONSTRAINT
            <constraintname> UNIQUE NONCLUSTERED
    (
                <columnname>
    )

Podívejte se na úplnou syntaxi zde .

Pokud to chcete provést z databázového diagramu:

  • klikněte pravým tlačítkem myši na tabulku a vyberte 'Indexy/klíče'
  • klepněte na tlačítko Přidat a přidejte nový index
  • v pravém horním rohu zadejte požadované informace:
    • požadované sloupce (klepnutím vyberte tlačítko Elipsa)
    • set Is Unique to Yes
    • uveďte odpovídající název
272
Rory

V SQL Server Management Studio Express:

  • Klikněte pravým tlačítkem myši na tabulku, zvolte Změnit nebo Návrh (pro pozdější verze)
  • Klikněte pravým tlačítkem na pole, zvolte Indexy/klíče ...
  • Klikněte Přidat
  • Pro Sloupce , vyberte název pole chcete být jedinečný.
  • Pro Typ , zvolte Unique Key .
  • Klikněte na Zavřít , Uložit tabulku.
84
James Lawruk
ALTER TABLE [TableName] ADD CONSTRAINT  [constraintName] UNIQUE ([columns])
28
WildJoe

Upozornění: Ve sloupci, který jste nastavili jako jedinečný, může být pouze jeden řádek null.

To lze provést pomocí filtrovaného indexu v SQL 2008:

CREATE UNIQUE NONCLUSTERED INDEX idx_col1
ON dbo.MyTable(col1)
WHERE col1 IS NOT NULL;

Viz Hodnota pole musí být jedinečná, pokud není rozsah odpovědí NULL .

15
Squirrel
ALTER TABLE dbo.<tablename> ADD CONSTRAINT
            <namingconventionconstraint> UNIQUE NONCLUSTERED
    (
                <columnname>
    ) ON [PRIMARY]
13
Ivan Bosnic

Také jsem zjistil, můžete to udělat přes, databázové diagramy.

Kliknutím pravým tlačítkem myši na tabulku a výběrem Indexy/klíče ...

Klikněte na tlačítko Přidat a změňte sloupce na sloupce, které chcete vytvořit.

Změna je jedinečná pro Ano.

Klepněte na tlačítko zavřít a uložte diagram a přidá jej do tabulky.

10
David Basarab

Hledáte něco takového

ALTER TABLE dbo.doc_exz
ADD CONSTRAINT col_b_def
UNIQUE column_b

Dokumenty MSDN

8
Thunder3

Chcete-li vytvořit vazbu UNIQUE na jednom nebo více sloupcích při vytvoření tabulky, použijte následující SQL:

ALTER TABLE TableName ADd UNIQUE (ColumnName1,ColumnName2, ColumnName3, ...)

Povolení pojmenování omezení UNIQUE pro výše uvedený dotaz

ALTER TABLE TableName ADD CONSTRAINT un_constaint_name UNIQUE (ColumnName1,ColumnName2, ColumnName3, ...)

Dotaz podporovaný MySQL/SQL Server/Oracle/MS Access.

6
Rafiq

V diagramu management studio vyberte tabulku, klikněte pravým tlačítkem myši, chcete-li přidat nový sloupec, pokud chcete, klepněte pravým tlačítkem myši na sloupec a zvolte "Kontrola vazeb", zde můžete přidat jeden.

5
Gibbons

V některých situacích by mohlo být žádoucí zajistit, že před vytvořením klíče neexistuje. V takových případech může pomoci následující skript:

IF Exists(SELECT * FROM sys.indexes WHERE name Like '<index_name>')
    ALTER TABLE dbo.<target_table_name> DROP CONSTRAINT <index_name> 
GO

ALTER TABLE dbo.<target_table_name> ADD CONSTRAINT <index_name> UNIQUE NONCLUSTERED (<col_1>, <col_2>, ..., <col_n>) 
GO
0
Mario Vázquez