如何从MS sql数据库(Microsoft sql Server)中的其他.sql文件运行.sql文件?

如何从MS sql数据库(Microsoft sql Server)中的其他.sql文件运行.sql文件?,sql,sql-server,database,mssql-jdbc,Sql,Sql Server,Database,Mssql Jdbc,我有一些.sql文件,其中包含创建表(MS sql数据库): 表1.sql: IF OBJECT_ID (N'my_schema.table1', N'U') IS NOT NULL DROP TABLE my_schema.table1; CREATE TABLE my_schema.table1( id int IDENTITY PRIMARY KEY, nameTable1 varchar(255) NOT NULL UNIQUE ); 和表2.sql: IF OBJECT_I

我有一些.sql文件,其中包含创建表(MS sql数据库):

表1.sql:

IF OBJECT_ID (N'my_schema.table1', N'U') IS NOT NULL
DROP TABLE my_schema.table1;

CREATE TABLE my_schema.table1(
  id int IDENTITY PRIMARY KEY,
  nameTable1 varchar(255) NOT NULL UNIQUE
);
和表2.sql:

IF OBJECT_ID (N'my_schema.table2', N'U') IS NOT NULL
DROP TABLE my_schema.table2;

CREATE TABLE my_schema.table2(
 id int IDENTITY PRIMARY KEY,
 nameTable2 varchar(255) NOT NULL UNIQUE
);
我想在第三个文件中运行这两个.sql文件:run_all_tables.sql, 如何通过run_all_tables.sql运行table_1.sql和table_2.sql,我认为应该是类似的:

运行所有表。sql:

BEGIN;
\i table_1.sql
\i table_2.sql
COMMIT;

要运行表1.sql和表2.sql,run_all_tables.sql中必须包含哪些内容?如果您有MS SQL数据库(Microsoft SQL Server)

您可以使用
SQLCMD
按顺序执行.SQL文件。将这些文件放在一个名为Scripts的文件夹中,可以创建run_all_tables.sql文件,如下所示:

PRINT 'CREATING TABLES'

:r c:\Scripts\table_1.sql
:r c:\Scripts\table_2.sql

PRINT 'TABLE CREATION IS COMPLETE'
创建之后,从命令行调用它,并连接到数据库服务器

SQLCMD -S Servername\Instancename -d DatabaseName -i c:\Scripts\run_all_tables.sql