2012-09-24 17 views
24
CREATE TABLE masterTbl (
id INT IDENTITY(1,1) CONSTRAINT pk_id PRIMARY KEY, 
name VARCHAR(100)) 

INSERT INTO masterTbl VALUES ('ABC', 'XYZ','PQR') 

Ahora¿Cómo puedo insertar mi identidad manualmente?

Select * FROM masterTbl 

Resultado:

id | name 
--------------------- 
1 | ABC 
2 | XYZ 
3 | PQR 

DELETE FROM masterTbl WHERE id=1 

Ahora

Select * FROM masterTbl 

Resultado:

id | name 
--------------------- 
2 | XYZ 
3 | PQR 

Ahora quiero correr:

INSERT INTO masterTbl (id, name) VALUES (1, 'MNO') 

¿Cómo es esto posible?

+0

relacionada (o duplicada): http://stackoverflow.com/questions/751522/how-to-change-identity -column-values-programmatically – adatapost

Respuesta

43

En ella está la forma más simple, es necesario para permitir temporalmente la inserción de identidad valora

SET IDENTITY_INSERT masterTbl ON 
INSERT INTO masterTbl (id, name) VALUES (1, 'MNO') 
SET IDENTITY_INSERT masterTbl OFF 
+2

tenga en cuenta que la lista de columnas se debe utilizar – user25064

12

Sí se pueden establecer campos de identidad ejecución manualmente

SET IDENTITY_INSERT masterTbl ON 

entonces inserte sus datos

INSERT INTO masterTbl (id, name) VALUES (1, 'MNO') 
...... 

y recuerde llamar

SET IDENTITY_INSERT masterTbl OFF 

para volver a activar la funcionalidad correcta

Cuestiones relacionadas