SP – Apagar tabelas do banco com o final xxx (parametro)

==========Apagar todas as tabelas=============
Para apagar as tabelas com final 010 por exemplo, execute assim:
		Exec sp_deleteTableLike '010'
Isso apagará todas as tabelas do banco que termine com 010.
-------------------------------------------------------------
Para apagar todas as tabelas 020:
Exec sp_deleteTableLike '020'
==============================================
CREATE PROCEDURE sp_deleteTableLike (@param varchar(100))
AS
	DECLARE	@name VARCHAR(128);
	DECLARE @SQL VARCHAR(254)

 BEGIN
	SELECT @param = '%'+@param;
	SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'U' AND category = 0 AND name
	like @param ORDER BY [name])
	print('Apagar tabelas com final: '+@param);
	WHILE @name IS NOT NULL
	BEGIN
		SELECT @SQL = 'DROP TABLE [dbo].[' + RTRIM(@name) +']'
		EXEC (@SQL)
		PRINT 'Tabela apagada: ' + @name
	SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'U' AND category = 0 AND [name] > @name AND name like @param ORDER BY [name])
	END
 END
No comments yet.