Como podemos limpiar todas las tablas de nuestra base de datos en un solo script

0
253

En algún monento vamos a necesitar limpiar todas nuestras tablas, y podrían existir muchos motivos, como migrar la aplicación donde otro cliente o borrar los datos de pruebas u otros casos, entonces para esto podríamos tener un SP que nos facilite el trabajo.

Importante: Mucho cuidado al usar este script, podrías perder datos importantes y que no quieras eliminar, para eso tendrías que agregarle algún filtro.

CREATE PROCEDURE ClearTables
as begin

declare @sql varchar(255)
declare @name varchar(30)

create table #names ( name varchar(30) )

insert into #names
select name from sysobjects (nolock)
where type = 'u'

set rowcount 1
while @@error = 0 begin
select @name = name from #names
delete from #names if @@rowcount < 1 break
select @sql = 'truncate table ' + @name
exec ( @sql )
end
set rowcount 0

return (0)

end
GO

Te lo recuerdo, mucho cuidado al usar este script. No digas que no estabas advertido.

Otra forma de poder ejecutar alguna acción en todas las tablas de nuestra base de datos es con la función no documentada de SQL sp_MSforeachtable, ver detalle.

Dejar respuesta

Please enter your comment!
Please enter your name here