我有一些带有创建表的.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)
答案 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