Skip to main content

How to TRUNCATE all tables in Microsoft SQL SERVER instance

When we are developing some software and we want to clean the SQL database to simulate a new installation, it would be interesting to have a routine that would erase the contents of all tables.

This script performs this task, it deletes the contents of all the tables of the instance that is open in SQL Server Management Studio.


 ATTENTION: The TRUNCATE command erases all the contents of the tables and there is no way to restore, only with backup. Use this script very consciously and in test environments where you really want to do a general clean up in your database. I am not responsible for the use of this in your bank. 

Created by my friend Airton Junior , it follows the killer script... 


USE MASTER;
--TABELA TEMPORÁRIA PARA ARMAZENAR OS BANCOS SEPARADOS PARA LIMPEZA
CREATE TABLE #TEMPORARIA (NOMEBANCO VARCHAR(255));
GO

--SEPARATION OF DATABASES
INSERT INTO #TEMPORARIA (NOMEBANCO)
SELECT name
FROM master.sys.databases
WHERE name LIKE '%BANKNAME%'
AND name NOT LIKE '%TABLES THAT WILL BE KEPT%'

DECLARE @NOMEDB VARCHAR(255)
DECLARE @SQL AS VARCHAR(MAX)

--SCREEN ALL BANKS CLEARING THEIR TABLES
WHILE (
SELECT Count(*)
FROM #TEMPORARIA
) > 0

BEGIN

--GETTING THE BANK IN POSITION ONE OF THE LIST
SELECT TOP 1 @NOMEDB = NOMEBANCO
FROM #TEMPORARIA

SET @SQL = N'USE ' + QUOTENAME(@NOMEDB);

EXECUTE (@SQL + 'EXEC sp_MSForEachTable ''TRUNCATE TABLE ?''');

--DELETING THE BANK USED IN CLEANING THE LISTING DELETE FROM
DELETE
FROM #TEMPORARIA
WHERE NOMEBANCO = @NOMEDB
END

--APAGANDO A TABELA TEMPORÁRIA
DROP TABLE #TEMPORARIA

Comments

Most visited posts

Dark theme in foxpro visual

Apply dark theme in visual foxpro editor and also in Notepad++ The editor will look very similar to the microsoft visual studio dark theme. Requires Visual FoxPro 9 with SP2. Colors used in the fonts: FOXPRO LOOK  *| AUTOCOM3 TECNOLOGIA E SOFTWARES LTDA (c) 2018 Todos os direitos reservados. *| *| Data da última revisão deste codigo: 02/10/2019 11:05:49 AM SET PATH TO HOME() + "FFC\" ADDITIVE #include "Registry.H" CLEAR setdarkthemeeditorcolors() MESSAGEBOX([Volte a abrir o visual fox para aplicar o tema.]; , 4096 + 64; , [DarkTheme for Microsoft Visual FoxPro]) FUNCTION setdarkthemeeditorcolors() LOCAL lnloop    AS INTEGER; , lcregkey  AS STRING; , lcvalue   AS STRING; , regconst  AS STRING DIMENSION aeditorcolors[7, 3] aeditorcolors[1, 1] = "EditorCommentColor" aeditorcolors[1, 2] = "RGB(87,166,74,30,30,30), NoAuto, NoAuto" aeditorcolors[2, 1] = "EditorKeywordColor...

How to change color according to cell value in Visual Foxpro grid.

This post teaches you how to get the effect shown in the image below using the GRID component of visual fox pro. Requires visual foxpro 9.0 SP2 I usually create a class for this, but here in the example I will do it in the simplest way, however, using a method inside the form. You need to create a blank form, add a GRID, a REFRESH button and add a table.  In my example I used a very basic table, called VALORES.DBF, with the VALOR field.  If the value is 1, I use one color, if it is 2, I use another and so on. My VALORES.DBF table is in the same directory where I am saving the FORM.  Creating the table CREATE TABLE values ​​(n(10,2) value) INSERT INTO values ​​(value) VALUES (1) INSERT INTO values ​​(value) VALUES (2) INSERT INTO values ​​(value) VALUES (3)  FORM PROPERTIES BINDCONTROLS = .F. DATASESSION = 1  INIT SELECT values LOCATE THISFORM.BINDCONTROLS = .T.  LOAD METHOD IF NOT FILE('values.dbf') SET MESSAGE TO MESSAGEBOX('Table VALORES.DBF is not...

How to deploy a printed pages control in the VFP to take an action after the report prints.

Isolved this issue by creating a public variable: PUBLIC _npagetotal _npagetotal = 0 Then, using the ReportListener component to control the reports, analyze the pagetotal property after the report runs.  If it returns <> 0, it means there was content in the report and if it returns 0 (zero), there was no content. */ control of printed pages _npagetotal = 0 LOCAL loreportlistener loreportlistener = CREATEOBJECT("ReportListener") loreportlistener.LISTENERTYPE = 0 loreportlistener.QUIETMODE = .T. REPORT FORM pathgeral + '\report\danfe_nfce_2.frx' OBJECT loreportlistener        _npagetotal = loreportlistener.pagetotal RELEASE loreportlistener IF _npagetotal<> 0 THEN   * PERFORMS AN ENDIF  ACTION