代码之家  ›  专栏  ›  技术社区  ›  Paushchyk Julia

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

  •  2
  • Paushchyk Julia  · 技术社区  · 9 年前

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

    和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运行table_1.sql和table_2.sql。sql,我认为应该是类似的:

    运行所有表.sql:

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

    run_all_tables中必须包含的内容。用于运行table1.sql和table2.sql的sql?如果您有MS SQL数据库(Microsoft SQL Server)

    1 回复  |  直到 9 年前
        1
  •  1
  •   TTeeple    9 年前

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