Vamos a recorrer todas las tablas de nuestra base de datos y eliminar sus registros. Para ello, utilizaremos la información que nos brinda information_schema.tables. Es muy importante que limitemos de alguna forma las tablas que se van a vaciar, por ejemplo, si las tablas de nuestra aplicación empiezan por "TBL_" podríamos especificar una condición WHERE que filtre por aquellas tablas que empiezan con ese nombre.
USE DB_PRUEBA DECLARE @SQL_DELETE VARCHAR(255), @NOM_TABLA VARCHAR(255) DECLARE CURSOR_DELETE CURSOR FOR SELECT 'DELETE FROM ' + TABLE_SCHEMA + '.' + TABLE_NAME, TABLE_SCHEMA + '.' + TABLE_NAME FROM information_schema.tables WHERE TABLE_NAME NOT LIKE 'sysdiagrams' ORDER BY TABLE_NAME OPEN CURSOR_DELETE FETCH NEXT FROM CURSOR_DELETE INTO @SQL_DELETE, @NOM_TABLA WHILE @@FETCH_STATUS = 0 BEGIN EXEC (@SQL_DELETE) FETCH NEXT FROM CURSOR_DELETE INTO @SQL_DELETE, @NOM_TABLA END CLOSE CURSOR_DELETE DEALLOCATE CURSOR_DELETE
No hay comentarios.:
Publicar un comentario