2011-11-24 10 views

Respuesta

19

Agregar DEFAULT(newid()).

+0

gracias. ¿Habrá algún error para definirlo como identitiy guid? –

2

Usando el enfoque DEFAULT (newid()), como se menciona @SLaks, permitiría que cualquiera modifique el valor Guid de la columna Guid, y eso podría ser malo.

Un enfoque para evitar eso sería establecer la columna "Guid" como una columna calculada persistente. De esa forma ni siquiera podrías "forzar" otro valor en la Columna. Pero, dado que la función NEWID() es No determinista, no se puede definir la Columna computada como persistente, y todo el enfoque se desactiva, ya que no establecer es como Persistiría como un nuevo Guid cada vez que seleccione esa fila.

Dicho esto, creo que tiene 2 opciones: Seguir con el enfoque DEFAULT (newid()) o trabajar con Triggers para eso.

0

Por favor, intente utilizando la siguiente consulta:

CREATE TABLE TEST 
(
    ID UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID() PRIMARY KEY, 
    TESTCOLUMN CHAR(2000) DEFAULT REPLICATE('X',2000) 
) 
GO 
Cuestiones relacionadas