我正在使用SQL Server数据库.我有以下SQL查询:

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

是否可以使用批处理文件运行这些脚本?数据库是一个远程数据库.

谢谢!

推荐答案

将命令保存在.SQL文件中,例如ClearTables.sql,比如C:\temp文件夹中.

Contents of C:\Temp\ClearTables.sql

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

然后使用sqlcmd执行它,如下所示.因为您说数据库是远程的,所以使用以下语法(在更新服务器和数据库实例名称之后).

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

例如,如果您的远程计算机名为SQLSVRBOSTON1,而数据库实例名为MyDB1,则命令为.

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

另请注意,-E指定默认身份验证.如果您有要连接的用户名和密码,请使用-U-P交换机.

您将通过打开一个CMD命令窗口来执行所有这些操作.

Using a Batch File.

如果要将其保存在批处理文件中并双击以运行它,请执行以下操作.

这样创建并保存这ClearTables.bat个.

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

然后双击它以运行它.它将执行命令并等待,直到您按任意键退出,这样您就可以看到命令输出.

Database相关问答推荐

为什么Hibernate会为@JoinTable的双向@OneToMany关系生成一个复杂的子查询?

为多个列 Select 最新的非空值

utf-8 与 latin1

动态数据模型

在 SQL Server 中找出调用存储过程

如何在 SQL Server 中将索引从一个表复制到另一个表

如何在 MS Access 中实现 SQL INTERSECT 和 MINUS 操作

CouchDB 和 Lotus Notes 有什么区别?

如何获取 PostgreSQL 数据库的最后访问/修改日期?

ORM vs 传统数据库查询,它们的字段是什么?

在 PostgreSQL 中使用 pg_notify(text, text) 监听/通知

MySQL:LAST_INSERT_ID() 返回 0

谁有维基数据库?

如何使用 Entity Framework CF 在父级之前删除子实体?

在将字符串插入数据库期间单引号转义

从原始物理文件中恢复 postgreSQL 数据库

为 django 模型自动创建数据的工具

Select 多模型 DBMS 时要考虑哪些因素? (OrientDB 与 ArangoDB)

每个开发人员一个数据库?

获取 SQL Server 2008 中新插入行的主键