如何从MS sql数据库(Microsoft sql Server)中的其他.sql文件运行.sql文件?
我有一些.sql文件,其中包含创建表(MS sql数据库): 表1.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
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