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

时间:2015-07-30 15:52:28

标签: sql sql-server database mssql-jdbc

我有一些带有创建表的.sql文件(MS SQL数据库):

table_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
);

和table_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,我认为它应该是类似的:

run_all_tables.sql:

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

run_all_tables.sql必须运行table_1.sql和table_2.sql才能运行什么?如果您有MS SQL数据库(Microsoft SQL Server)

1 个答案:

答案 0 :(得分:1)

使用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