This question is taken from http://www.sqlservercentral.com/questions/T-SQL/73459/. A very interesting question:
CREATE TABLE MyIdentityTest( id INT IDENTITY(1,1) , mychar VARCHAR(10) ) GOINSERT MyIdentityTest SELECT 'A' GOSET IDENTITY_INSERT MyIdentityTest ON INSERT MyIdentityTest (id, mychar) SELECT 12, 'L' GOSET IDENTITY_INSERT MyIdentityTest OFF GODBCC CHECKIDENT(myidentitytest, RESEED, 2) GOINSERT MyIdentityTest SELECT 'B' SELECT id FROM myidentitytest WHERE mychar = 'B' DROP TABLE myidentitytest
Answer:3
Reason:When you reseed the identity value, you set the counter to the value you specify. In this case, the value is set to "2", and the next insert takes a 3.
No comments:
Post a Comment