Red de conocimiento del abogados - Preguntas y respuestas jurídicas - Cómo ver Identity_insert en SQL Server 2005

Cómo ver Identity_insert en SQL Server 2005

Generalmente, no es necesario configurar la columna que se incrementa automáticamente al insertar.

Esta configuración sólo es necesaria en circunstancias especiales.

1gt; CREAR TABLA test_create_tab2 (

2gt; id INT IDENTITY(1, 1) CLAVE PRIMARIA,

3gt; val VARCHAR(10)

4gt;

5gt; ir

1gt; INSERTAR EN test_create_tab2(val) VALORES ('SIN id'); go

(1 fila afectada)

1gt; INSERT INTO test_create_tab2(id, val) VALUES (6, 'id no use');

2gt; go

Mensaje 544, Nivel 16, Estado 1, Servidor HOME-BED592453C\SQLEXPRESS, Línea 1

No se puede crear un valor para la tabla 'test_create_tab2' cuando IDENTITY_INSERT está configurado en OFF Insertar un valor explícito en la columna de identidad.

1gt; INSERTAR EN test_create_tab2(val) VALORES ('A');

2gt; INSERTAR EN test_create_tab2(val) VALORES ('B'); >3gt; INSERTAR EN VALORES test_create_tab2 ('C');

4gt; INSERTAR EN VALORES test_create_tab2 ('D');

5gt; ; SELECCIONAR * DE test_create_tab2

2gt; ir

id val

----------- ------- ---

1 NO id

2 A

3 B

4 C

5 D

(5 filas afectadas)

--Elimina un dato, lo que provoca discontinuidad en los datos.

1gt; DELETE FROM test_create_tab2 WHERE id = 3;

2gt; go

(1 fila afectada)

--Permitir que se inserten valores explícitos en la columna de identidad de la tabla

1gt; SET IDENTITY_INSERT test_create_tab2 ON

2gt; go

1gt; INSERT INTO test_create_tab2(id, val) VALUES (3, 'id es uso'); >2gt; go

(1 fila afectada)

--No se permite la inserción de valores explícitos en la columna de identidad de la tabla

1gt; SET IDENTITY_INSERT test_create_tab2 OFF

p>

2gt; go

1gt; SELECT * FROM test_create_tab2

2gt; /p>

-- --------- ----------

1 SIN id

2 A

Se utilizan 3 id

4 C

5 D

(5 filas afectadas)