sql >> Database >  >> RDS >> Sqlserver

Een reeks SQL-query's uitvoeren met behulp van een batchbestand?

Bewaar de commando's in een .SQL bestand, bijv:ClearTables.sql , zeg in uw C:\temp map.

Inhoud van C:\Temp\ClearTables.sql

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

Gebruik dan sqlcmd om het als volgt uit te voeren. Aangezien je zei dat de database op afstand is, gebruik je de volgende syntaxis (na het bijwerken van de naam van je server en database-instantie).

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

Als de naam van uw externe computer bijvoorbeeld SQLSVRBOSTON1 is en de naam van de database-instantie MyDB1 is, dan zou de opdracht dat zijn.

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

Merk ook op dat -E specificeert standaard authenticatie. Als je een gebruikersnaam en wachtwoord hebt om verbinding te maken, gebruik dan -U en -P schakelaars.

U voert dit allemaal uit door een CMD . te openen opdrachtvenster.

Een batchbestand gebruiken.

Als u het in een batchbestand wilt opslaan en dubbelklikt om het uit te voeren, doet u het als volgt.

Maak en bewaar de ClearTables.bat zoals zo.

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

Dubbelklik er vervolgens op om het uit te voeren. Het zal de commando's uitvoeren en wachten tot je op een toets drukt om af te sluiten, zodat je de uitvoer van de commando's kunt zien.



  1. Hoe WEEKDAY() werkt in MariaDB

  2. Hoe voer je meerdere SQL-commando's uit in een enkele SQL-verbinding?

  3. Hoe om te gaan met fouten in in SQL Server geneste transacties

  4. Hoe kan ik deze opmerkingen in een MySQL-dump verwijderen?