viernes, 25 de marzo de 2011

Reiniciar Campos Identity en SQL Server


use NOMBRE-BASE-DE-DATOS
/* PERMITE REINICIAR EL VALOR DE UN CAMPO IDENTITY A CERO*/
/**/
/**/
DECLARE @NombreTabla VARCHAR(30)
DECLARE @TotalTablas INT
SET @TotalTablas=0
DECLARE Tablas CURSOR FOR
SELECT Name FROM SYS.objects T WHERE T.type='U' AND T.name NOT IN
('sysdiagrams',
'TABLA X')

OPEN Tablas

/*IF @@CURSOR_ROWS>0*/
/*PRINT @@CURSOR_ROWS*/
FETCH NEXT FROM Tablas
INTO @NombreTabla

WHILE @@FETCH_STATUS=0
BEGIN
PRINT 'REINICIANDO '+ @NombreTabla+'...'
SET @TotalTablas=@TotalTablas+1
DBCC CHECKIDENT (@NombreTabla, RESEED,0)
FETCH NEXT FROM Tablas
INTO @NombreTabla
END
PRINT CONVERT(VARCHAR,@TotalTablas) +' TABLAS FUERON REINICIADAS'
/*END*/
CLOSE Tablas
DEALLOCATE Tablas

No hay comentarios:

Publicar un comentario