반응형
/********************************************************************************************
-- Title : [2k5] Truncate시 Identity값 초기화 및 CHECKIDENT
-- Key word : trucate identity dbcc checkident ident_current
********************************************************************************************/
-- truncate하니 identity값이 초기화 되는구나.. 몰랐돠..^^;;

DROP TABLE ttt;
GO

CREATE TABLE ttt (a INT IDENTITY, b INT);
GO

INSERT INTO ttt VALUES (1);
GO 10

SELECT * FROM ttt;
SELECT IDENT_CURRENT('ttt'); -- 10

DELETE FROM ttt
WHERE a > 5;
SELECT IDENT_CURRENT('ttt'); -- 10

DBCC CHECKIDENT('ttt');
SELECT IDENT_CURRENT('ttt'); -- 10
/*
ID 정보 확인: 현재 ID 값은 '10'이며, 현재 열 값은 '10'입니다.
*/

DBCC CHECKIDENT('ttt', reseed, 20);
SELECT IDENT_CURRENT('ttt'); -- 20

DBCC CHECKIDENT('ttt', reseed, 11);
SELECT IDENT_CURRENT('ttt'); -- 11

DBCC CHECKIDENT('ttt', reseed, 3);
SELECT IDENT_CURRENT('ttt'); -- 3

INSERT INTO ttt VALUES (1);
SELECT IDENT_CURRENT('ttt'); -- 4
SELECT * FROM ttt;

INSERT INTO ttt VALUES (1);
GO 10

DBCC CHECKIDENT('ttt', noreseed);
SELECT IDENT_CURRENT('ttt'); -- 14
SELECT * FROM ttt;
/*
ID 정보 확인: 현재 ID 값은 '14'이며, 현재 열 값은 '14'입니다.
*/

-- truncate하면 id값 초기화 된다.
TRUNCATE TABLE ttt;
SELECT IDENT_CURRENT('ttt'); -- 1
 
반응형

+ Recent posts