2012-09-24 20 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') 

TerazJak mogę ręcznie wprowadzić tożsamość?

Select * FROM masterTbl 

Wynik:

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

DELETE FROM masterTbl WHERE id=1 

Teraz

Select * FROM masterTbl 

Wynik:

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

Teraz chcę uruchomić:

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

Jak to jest możliwe?

+0

powiązanych (lub duplikat): http://stackoverflow.com/questions/751522/how-to-change-identity -kolumn-wartości-programowo – adatapost

Odpowiedz

43

W swej najprostszej formie, trzeba tymczasowo umożliwić wstawienie tożsamości wartości

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

należy pamiętać, że należy użyć listy kolumn – user25064

12

Tak można ustawić pola tożsamości ręcznie realizujących

SET IDENTITY_INSERT masterTbl ON 

następnie wstaw swoje dane

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

i pamiętaj, aby zadzwonić

SET IDENTITY_INSERT masterTbl OFF 

ponownie włączyć prawidłowe działanie

Powiązane problemy