2011-11-24 13 views

Odpowiedz

19

Dodaj DEFAULT(newid()).

+0

dzięki. czy zrobi to, żeby zdefiniować to jako identyczne guid? –

2

Stosując podejście DEFAULT (newid()), jak wspomniał @SLaks, pozwolisz każdemu zmienić wartość Guid z kolumny Guid, a to może być złe.

Jednym ze sposobów uniknięcia tego byłoby ustawienie kolumny "Guid" jako kolumna z utrzymywaną kolumną. W ten sposób nie można nawet "wymusić" innej wartości na kolumnie. Ale ponieważ funkcja NEWID() jest Non Deterministic, nie można zdefiniować Computed Column jako Persisted, a całe podejście idzie w dół, ponieważ nie ustawienie jest tak długo utrzymywane, jak nowe Guid za każdym razem Wybierz ten wiersz.

To powiedziawszy, wierzę, że masz dwie możliwości: Trzymaj się podejścia DEFAULT (newid()) lub pracuj z wyzwalaczami.

0

Spróbuj za pomocą następującego zapytania:

CREATE TABLE TEST 
(
    ID UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID() PRIMARY KEY, 
    TESTCOLUMN CHAR(2000) DEFAULT REPLICATE('X',2000) 
) 
GO 
Powiązane problemy