Giả sử bạn có Table A với 2 cột (Id, Value). Để reset giá trị về 1, bạn làm như sau:
- Tạo Table A1 với 2 cột (Id, Value)
- Copy data từ A sang A_Backup
- Xóa data table A
- Reset Identity table A
- Copy data từ A_Backup sang A
CREATE TABLE [dbo].[A_Backup](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Vavlue] [decimal](18, 2) NOT NULL
)
BEGIN TRANSACTION;
BEGIN TRY
INSERT INTO [dbo].[A_Backup]
([Vavlue] [decimal](18, 2) NOT NULL)
SELECT [Vavlue]
FROM [dbo].[A]
Truncate Table A
DBCC CHECKIDENT ('A', RESEED, 1)
INSERT INTO [dbo].[A]
([Vavlue])
SELECT [Vavlue]
FROM [dbo].[A_Backup]
END TRY
BEGIN CATCH
SELECT
ERROR_NUMBER() AS ErrorNumber
,ERROR_SEVERITY() AS ErrorSeverity
,ERROR_STATE() AS ErrorState
,ERROR_PROCEDURE() AS ErrorProcedure
,ERROR_LINE() AS ErrorLine
,ERROR_MESSAGE() AS ErrorMessage;
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION;
END CATCH;
IF @@TRANCOUNT > 0
COMMIT TRANSACTION;
--ROLLBACK TRANSACTION;
GO
DROP Table A_Backup;
Nhận xét
Đăng nhận xét