Jak zrobić unikalną kolumnę z domyślną wartością UUID

9

Mam kolumnę klucza do użytku wewnętrznego, która jest tylko rosnącą liczbą całkowitą, ale chciałbym mieć drugą unikalną kolumnę, która jest UUID, ale nie wiem, jak wywołać funkcję dla wartości domyślnej (tak, aby SQL Serwer tworzy UUID, a nie java), czy jest jakaś dokumentacja, która mogłaby mi to zasugerować?

ztatic
źródło

Odpowiedzi:

12
CREATE TABLE TblUID
(
    ID INT NOT NULL,
    UID UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID()
)
Alex_L
źródło
5
To lub NEWSEQUENTIALID().
Nick Chammas,
6

Nie jestem pewien, czy dobrze rozumiem twoje pytanie, ale możesz mieć uniqueidentifierpole w swojej tabeli. Jeśli chcesz wygenerować identyfikator UID dla rekordu, możesz zrobić coś takiego:

create table UniqueIdTest
(
    someint int not null,
    someid uniqueidentifier not null
)

insert into UniqueIdTest(someint, someid)
values(1, NEWID())

Czy to spełnia twoje wymagania?

Thomas Stringer
źródło