Tuesday, December 1, 2009

Reset Identity Column in SQL Server

Khi thiết kế cơ sở dữ liệu, bạn có thể thiết lập một cột trong bảng với thuộc tính Is Identity = true. SQL Server sẽ tự động thiết lập giá trị tăng tự động cho cột đó.

Tuy nhiên, sau một thời gian kiểm thử database, bạn muốn reset lại giá trị cho cột này về một giá trị nào đó bạn mong muốn, thì câu lệnh sau cho phép bạn thực hiện việc này.

USE [TenDatabase];

DBCC CHECKIDENT(TenBang, RESEED, Giatri);

Trong đó:

TenBang là tên của bảng có chứ Identity Column mà bạn muốn thiết lập lại giá trị.

Giatri là giá trị mà bạn khởi tạo. Nếu bạn đặt giá trị này bằng 0, thì row được insert ngay sau đó sẽ có giá trị là 1 với cột tự tăng này.

Chú ý rằng việc insert sau đó có thể gặp lỗi nếu bạn thiết lập giá trị khởi tạo đến giá trị nhỏ hơn hoặc bằng giá trị lớn nhất đang tồn tại trên cột tự tăng của bảng đó.

No comments:

Post a Comment