Udostępnij za pośrednictwem


Tworzenie i modyfikowanie identyfikator kolumny

To kolumna identyfikatora umożliwia tworzenie automatycznie kolejnym numerem identyfikatora w tabela.Można utworzyć tylko jeden identyfikator kolumna i jedną kolumna identyfikator GUID dla każdej tabela.

właściwość tożsamości

Kolumnę identyfikatorów można zaimplementować przy użyciu właściwości IDENTITY.Umożliwia to deweloperowi określenie zarówno numeru tożsamości pierwszego wiersza wstawianego do tabeli (właściwość Inicjator tożsamości), jak i przyrostu (właściwość Przyrost tożsamości) dodawanego do wartości inicjatora w celu ustalenia kolejnych numerów tożsamości.Gdy wartości są wstawiane do tabeli mającej kolumnę identyfikatorów, program Database Engine automatycznie generuje następną wartość tożsamości, dodając przyrost do wartości inicjatora.W przypadku dodawania kolumn identyfikatorów do istniejących tabel, numery tożsamości są dodawane do istniejących wierszy tabeli, a wartości inicjatora i przyrostu są stosowane w kolejności wstawiania tych wierszy.Numery tożsamości są także generowane dla wszystkich dodawanych nowych wierszy.Nie można zmodyfikować istniejącej kolumny tabeli w celu dodania właściwości IDENTITY.

Po użyciu właściwość tożsamości Aby zdefiniować kolumna identyfikator, należy uwzględnić następujące zagadnienia:

  • Tabela może mieć tylko jedną kolumnę zdefiniowano z właściwość tożsamości, a kolumna musi być zdefiniowana przy użyciu decimal, int, numeric, smallint, bigint, lub tinyint Typ danych.

  • Można określić siewnego i wartość przyrostu.Wartość domyślna dla obu to 1.

  • kolumna identyfikatora nie należy zezwalać na wartości null i nie może zawierać definicji DEFAULT lub obiektu.

  • kolumna można się odwoływać przy użyciu słowa kluczowego IDENTITY $ po liście select właściwość tożsamości została ustawiona.kolumna można także odwoływać się według nazw.

  • Funkcja OBJECTPROPERTY może służyć do określenia, czy tabela zawiera kolumnę tożsamości, a funkcja COLUMNPROPERTY może być używana do określenia nazwy kolumna tożsamości.

  • zestaw IDENTITY_INSERT może służyć do wyłączenia właściwość tożsamości kolumna, włączając wartości ma zostać wstawiony jawnie.

    Uwaga

    Jeśli to kolumna Identyfikator tabela, która ma często dokonywane są usunięcia, pomiędzy wartościami tożsamości identyfikacyjnymi mogą występować luki.Tożsamość usunięta wartości nie są używane ponownie.Aby uniknąć takich luk, nie należy używać właściwość tożsamości.Zamiast tego można utworzyć wyzwalacz, który określa nową wartość identyfikator na podstawie istniejących wartości kolumna identyfikatora wiersze są wstawiane.

Identyfikatory globalnie unikatowe

Mimo że właściwość tożsamości automatyzuje numeracja w jednej tabela, osobne tabele, każda z własnym kolumna identyfikatora wiersza, można wygenerować te same wartości.Dzieje się tak, ponieważ właściwość tożsamości jest gwarantowane, że jest unikatowy tylko w przypadku tabela, na którym jest używany.Jeśli aplikacja musi wygenerować kolumną identyfikatora, który jest unikatowy w całej bazie danych lub każdej bazy danych na każdym komputerze sieciowym na całym świecie, za pomocą uniqueidentifier Typ danych oraz NEWID or NEWSEQUENTIALID() funkcja.Ponadto można zastosować właściwość ROWGUIDCOL, aby wskazać, że nowa kolumna jest wiersza kolumny identyfikatora GUID.W przeciwieństwie do kolumn zdefiniowanych właściwość IDENTITY Database Engine nie generuje automatycznie wartości dla kolumna typu uniqueidentifier. Aby wstawić globalnie unikatowa wartość, należy utworzyć DOMYŚLNĄ definicją kolumna, która wykorzystuje funkcja NEWID lub NEWSEQUENTIALID do generowania globalnie unikatowe wartości.Aby uzyskać więcej informacji zobaczZa pomocą uniqueidentifier danych.

Na liście wybierz kolumna z właściwością ROWGUICOL można odwoływać się przy użyciu słowa kluczowego ROWGUID $.Jest to podobny sposób, jak można odwoływać się przy użyciu słowa kluczowego IDENTITY $ kolumna tożsamości.Tabela może mieć tylko jedną kolumnę ROWGUIDCOL i kolumna muszą być zdefiniowane przy użyciu uniqueidentifier Typ danych. The OBJECTPROPERTY (Transact-SQL) funkcja can be used to determine whether a tabela has a ROWGUIDCOL kolumna, and the COLUMNPROPERTY (Transact-SQL) funkcja can be used to determine the name of the ROWGUIDCOL kolumna.

Poniższy przykład tworzy tabela z Uniqueidentifier kolumna jako klucz podstawowy.W przykładzie użyto NEWSEQUENTIALID() działają w DEFAULT ograniczenie, aby podać wartości dla nowych wierszy. Właściwość ROWGUIDCOL jest stosowana do Uniqueidentifier kolumna, tak że można się odwoływać za pomocą słowa kluczowego ROWGUID $.

Aby utworzyć nową kolumna Identyfikator podczas tworzenia tabela

CREATE TABLE (Transact-SQL)

Aby utworzyć nową kolumna identyfikator w istniejącej tabela

ALTER tabela (języka Transact-SQL)

Aby usunąć kolumna z identyfikatorem

ALTER tabela (języka Transact-SQL)

How to: Delete Columns from a Table (Visual Database Tools)

Aby uzyskać informacje o kolumnach identyfikacyjnych

sys.identity_columns (Transact-SQL)

IDENT_INCR (języka Transact-SQL)

IDENT_SEED (języka Transact-SQL)

Aby sprawdzić i naprawić bieżącej wartości tożsamości określonej tabela

DBCC CHECKIDENT (Transact-SQL)

Aby zestaw nową wartość początkową

DBCC CHECKIDENT (Transact-SQL)