Executing set of SQL queries using batch file?

batch-file, cmd, database, sql-server

Solution

Save the commands in a `.SQL` file, ex: `ClearTables.sql`, say in your `C:\temp` folder.

Contents of `C:\Temp\ClearTables.sql`

Delete from TableA;
Delete from TableB;
Delete from TableC;
Delete from TableD;
Delete from TableE;

Then use `sqlcmd` to execute it as follows. Since you said the database is remote, use the following syntax (after updating for your server and database instance name).

sqlcmd -S <ComputerName>\<InstanceName> -i C:\Temp\ClearTables.sql

For example, if your remote computer name is SQLSVRBOSTON1 and Database instance name is MyDB1, then the command would be.

sqlcmd -E -S SQLSVRBOSTON1\MyDB1 -i C:\Temp\ClearTables.sql

Also note that `-E` specifies default authentication. If you have a user name and password to connect, use `-U` and `-P` switches.

You will execute all this by opening a `CMD` command window.

Using a Batch File.

If you want to save it in a batch file and double-click to run it, do it as follows.

Create, and save the `ClearTables.bat` like so.

echo off
sqlcmd -E -S SQLSVRBOSTON1\MyDB1 -i C:\Temp\ClearTables.sql
set /p delExit=Press the ENTER key to exit...:

Then double-click it to run it. It will execute the commands and wait until you press a key to exit, so you can see the command output.

Problem

I am using a SQL Server database. I have these SQL queries: ``` Delete from TableA; Delete from TableB; Delete from TableC; Delete from TableD; Delete from TableE; ``` Is it possible to run these scripts using a batch file? The database is a remote database. Thanks!

Original source