1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| BEGIN TRY
BEGIN TRANSACTION;
EXEC @DatabaseName.sys.sp_MSforeachtable ' IF PARSENAME(''?'', 3) NOT IN (''bd1'',''bd2'') AND OBJECT_NAME(''?'') NOT LIKE ('SAVE%')
BEGIN
INSERT TABLE DROP_TABLE (database_name, table_id, table_name, row_count)
VALUES (PARSENAME(''?'', 3),OBJECT_ID(''?''),OBJECT_NAME(''?''), SELECT(count(*) FROM (''?'')))
DROP TABLE @DatabaseName.dbo.?
END'
COMMIT TRANSACTION;
END TRY
BEGIN CATCH
SET @error = 1
@vErrorNumber = ERROR_NUMBER() AS ErrorNumber,
@vErrorSeverity = ERROR_SEVERITY() AS ErrorSeverity,
@vErrorState = ERROR_STATE() as ErrorState,
@vErrorProcedure = ERROR_PROCEDURE() as ErrorProcedure,
@vErrorLine = ERROR_LINE() as ErrorLine,
@vErrorMessage = ERROR_MESSAGE() as ErrorMessage;
ROLLBACK TRANSACTION;
END CATCH |
Partager